使用单词边界

时间:2016-07-05 18:03:26

标签: javascript regex

我想知道是否有某种规则使用单词边界,除了使用单词。在我的情况下,我希望在特定单词后捕获一个值,我应该用\ b's包裹这个单词吗?

/\bCOMP:\s*(\d{2}\/\d{4})\b/

VS

/\bCOMP\b:\s*\b(\d{2}\/\d{4})\b/

更正确的方法是什么?

另外,会影响性能吗?

感谢。

1 个答案:

答案 0 :(得分:3)

一般情况下,除非您想避免包含字符串的字词,否则您不需要www.example.com

  • \b非常有用,因为如果您只想\bCOMP:,它会避免匹配SOMECOMP:

  • COMP是不必要的,因为/COMP\b:已经确保:将以字边界结束。同样,COMP是不必要的,因为它已经要求:\s*\b\d{2}之前的字符是非单词字符。

真正的性能差异可能非常小,如果它存在的话。但是,省略不必要的\d{2}模式会使正则表达式更简单,更清晰。