我正在读一本关于正则表达式的书,我遇到了这个例子\b
:
猫把食物撒得满屋子都是。
使用正则表达式 -\bcat\b
将匹配该词cat
但不是cat
in scattered
.
For \B
作者使用了以下例子:
请输入九位数的 ID
出现在您的彩色编码密码上。
使用正则表达式\B-\B
火柴-
词之间color - coded
. Using \b-\b
另一方面匹配-
in nine-digit
and pass-key
.
为什么在第一个例子中我们使用\b
分开cat
并在第二次使用时\B
分开-
? Using \b
在第二个示例中,其操作与之前的操作相反。
请向我解释一下其中的区别。
编辑:另外,有人可以用一个新的例子来解释吗?
困惑源于你的想法\b
匹配空格(可能是因为“b”暗示“空白”)。
\b
匹配空字符串单词的开头或结尾. \B
匹配不在单词开头或结尾的空字符串。这里的关键是“-”不是单词的一部分。所以<left>-<right>
火柴\b-\b
因为两边都有单词边界-
。另一方面对于<left> - <right>
(注意空格),破折号两侧没有单词边界。单词边界向左和向右各一格。
另一方面,当寻找\bcat\b
单词边界表现得更直观,它符合预期的“ cat ”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)