Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用单词边界_Javascript_Regex - Fatal编程技术网

Javascript 使用单词边界

Javascript 使用单词边界,javascript,regex,Javascript,Regex,我想知道,除了在单词中使用外,是否还有一些使用单词边界的规则。在我的情况下,我希望在特定单词后捕获一个值,我是否应该用\b来包装该单词 /\bCOMP:\s*(\d{2}\/\d{4})\b/ vs: 更正确的方法是什么 此外,是否会\b影响性能 谢谢。一般来说,您不需要\b,除非您希望避免包含字符串的单词 \bCOMP:很有用,因为如果您只想要COMP,它可以避免匹配SOMECOMP: /COMP\b:是不必要的,因为:已经确保COMP将以单词边界结束。类似地,:\s*\b\d{2}是不必

我想知道,除了在单词中使用外,是否还有一些使用单词边界的规则。在我的情况下,我希望在特定单词后捕获一个值,我是否应该用\b来包装该单词

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

更正确的方法是什么

此外,是否会\b影响性能


谢谢。

一般来说,您不需要
\b
,除非您希望避免包含字符串的单词

  • \bCOMP:
    很有用,因为如果您只想要
    COMP
    ,它可以避免匹配
    SOMECOMP:

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


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

完美的答案!谢谢@nrabinowitz
/\bCOMP\b:\s*\b(\d{2}\/\d{4})\b/