一尘不染

\ w和\ b正则表达式元字符之间的区别

javascript

谁能解释\b\w正则表达式元字符之间的区别?据我了解,这两个元字符都用于单词边界。除此之外,哪个元字符对于多语言内容有效?


阅读 441

收藏
2020-05-01

共1个答案

一尘不染

元字符\b是锚号,例如插入号和美元符号。它在称为 “单词边界” 的位置匹配。此匹配为零长度。

有三个不同的位置可作为单词边界:

  • 如果字符串中的第一个字符是单词字符,则在字符串中第一个字符之前。
  • 如果字符串中的最后一个字符是单词字符,则在字符串的最后一个字符之后。
  • 字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符。

简而言之:\b允许您使用形式的正则表达式执行 “仅全词” 搜索\bword\b。阿 “字字符” 是可用于形成字的字符。不是
“单词字符”的 所有字符都是 “非单词字符”

在所有口味中,字符[a-zA-Z0-9_]都是文字字符。这些也与速记字符类匹配\w。在风味比较中显示单词边界的 “ ascii”
的风味仅将这些识别为单词字符。

\w通常代表 “文字字符”[A-Za-z0-9_]。请注意包含下划线和数字。

\B是的否定版本\b\B在每个\b不匹配的位置进行匹配。有效地,\B匹配两个单词字符之间的任何位置以及两个非单词字符之间的任何位置。

\W是的缩写[^\w]版本\w

2020-05-01