正则表达式匹配前面有空格字符的空格字符

时间:2013-11-21 23:31:03

标签: javascript regex

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

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

但我对此感到困惑

a)如何根据前面的字符和

来匹配一个角色

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

的空格

我需要这个在javascript中工作,如果这有任何区别。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

由于缺乏外观,您可以做的最好就是使用此功能找到整体匹配,然后只使用捕获组1

/(?: )( +)/g

或者,无论代码使用匹配信息,只需假设第一个字符是空格,并使用此正则表达式:

/ +/g

答案 1 :(得分:0)

只需使用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/

的小提琴