javascript RegExp字边界问题

时间:2012-06-19 19:02:32

标签: javascript regex

这是我的代码:

var boo = new RegExp("\\Bis\\B","gi");
var result = boo.exec("this AisA stackoverflow");
document.write(result);​

结果是:“是”但我希望函数exec返回整个匹配,即AisA使用 非字边界\ B。我知道我可以使用像。+ is。+这样的模式来返回AisA但是 我想知道如何用非单词边界做同样的事情。

4 个答案:

答案 0 :(得分:3)

试试这个:

/.\Bis\B./

这将检查非边界,并将该字符与.

一起使用

答案 1 :(得分:0)

这可能是你想要的?

\S*\Bis\B\S*

由于边界与字符不匹配,但只检查条件,您必须使用其他东西来获取字符。

答案 2 :(得分:0)

字边界是所谓的零宽度匹配,意味着它们匹配条件,而不是字符。例如,在正则表达式“\ bw”中,“\ b”测试表达式中位置之前或之后是否有一些空格。它没有捕获任何东西。

如果要捕获单词字符,请尝试使用\ w。

请参阅:http://www.regexguru.com/2008/04/watch-out-for-zero-length-matches/

答案 3 :(得分:0)

匹配包含'is'的单词:

/\b\w*is\w*/gi

最后一个\ b不是必需的,因为它是LA的一部分(\ w *)。

相关问题