此问题已在此处有答案:
How does \b work when using regular expressions?(7个回答)
Difference between \b and \B in regex(10个答案)
4天前关闭。
为什么在这种情况下,left \b
的性能与left \B
相同?
\b\$[0-9]+(\.[0-9][0-9])?\b
由于left \b
的性能,此模式应省略诸如a$99.99
之类的短语。\b
检测未使用字母、数字或下划线绑定的短语。但不是!我在regex 101中检查了它。as you see it detects phrases such tyh666.8
but doesn't detect $99
然而,右\b
执行完全正确!
令人惊讶的是,我把它改为左\B
它的工作!\B
检测以字母、数字或下划线为界的短语。但在这里它的工作原理是左\b
!而我不知道为什么!
As you see it detects phrases which have not been bounded with letters, digits or underscore
1条答案
按热度按时间rggaifut1#
你对
\b
的理解是不正确的。它匹配一侧有“单词”字符而另一侧有“非单词”字符的位置。$
不是单词字符,因此它将仅匹配$
前面紧跟着单词字符(字母数字,在一些实现中加上e.例如@
和_
)