繁体   English   中英

正则表达式以匹配空格字符,后跟空格字符

[英]Regex to match a space character preceded by a space character

我想编写一个正则表达式来匹配以下字符串中标有'^'的标记字符

this  is    a     string
     ^   ^^^  ^^^^ 

但是我很困惑

a)如何根据其前面的字符来匹配字符,以及

b)如何匹配实际上只是一个空格而不是制表符(\\ t)或换行符(\\ n)的空格

我需要用javascript工作,如果有什么区别。

有什么想法吗?

由于缺乏后顾之忧,因此您最好的办法就是使用此方法查找整体匹配项,然后仅使用捕获组1

/(?: )( +)/g

或者,在任何使用匹配信息的代码中,只要假设第一个字符是空格,然后使用此正则表达式即可:

/ +/g

只需使用String.replace( regexp , replaceWith )

并使用RegExp /([ ]+)/g

这将用任意数量的空格替换前面的任何空格,而只是一个空格

var string = "I have multiple spaces .";

然后,您将使用自定义函数替换它。

var marked = string.replace(/([ ]+)/g, function( p1 ){
    return " " + p1.slice(0,-1).replace(/[ ]/g, ' ');
});

这是一个带有工作示例的小提琴, http://jsfiddle.net/h5C7p/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM