为什么在\ s匹配正则表达式中的字符串边界时引入\ b?

Ale*_*hel 4 regex

我看到有\b一些我从未使用过的,我想知道是否有人可以在不可能的情况下给我用例\b.

Mar*_*ers 6

我想知道是否有人可以在没有\ b的情况下给我用例.

表达式\b只是您已经可以使用其他结构的简便方法.

例如,如果正则表达式引擎具有外观,则\b等效于以下较长表达式:

(?<=\w)(?!\w)|(?<!\w)(?=\w)
Run Code Online (Sandbox Code Playgroud)

类似地\w,\d等等只是使用字符类已经可以完成的简写,例如[A-Za-z0-9_][0-9].您通常希望使用简短版本,因为每次写出完整定义都很麻烦,难以阅读并增加了出错的风险.