我想写一个正则表达式来匹配以下字符串中标有'^'
的标记字符
this is a string
^ ^^^ ^^^^
但我对此感到困惑
a)如何根据前面的字符和
来匹配一个角色b)如何匹配实际上只是空格而不是制表符(\ t)或新行(\ n)char
的空格我需要这个在javascript中工作,如果这有任何区别。
有什么想法吗?
答案 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/
的小提琴