如何匹配javascript正则表达式中的非单词+单词边界。
"This is, a beautiful island".match(/\bis,\b/)
在上面的例子中,为什么正则表达式引擎不匹配直到,并且假设空间是一个单词边界而不进一步移动。
答案 0 :(得分:2)
\b
断言字词\w
符合非字字符\W
的位置,反之亦然。逗号是一个非单词字符,空格也是如此。所以\b
永远不会匹配逗号和空格之间的位置。
此外,您忘记在正则表达式中添加结尾分隔符。
答案 1 :(得分:0)
您可以在逗号后使用\B
匹配\b
不匹配的地方,因为逗号不被视为单词字符。
console.log( "This is, a beautiful island".match(/\bis,\B/) )
//=> ["is,"]