阅读时间: 10分钟
在Regular Expression中,相信有很多人都不太明白怎样区分\b 与 \B的分别。
现在就为大家讲解一下它们的分别:
\b
解释说明:
比对「文字/数字的边界」,包括underscore ( _ ) 。
\B
解释说明:
比对非「文字/数字的边界」,包括空格及特别字元。
以下用详细例子解释:
首先将s定义为
sentence= "martinis himartin goo goomartingoo";
例子1: 每个词的开始位置
result = sentence.replace(/\bmartin/g, "KK");
最后改变成为 "KKis himartin goo goomartingoo"
例子2: 每个词的尾部位置
result = sentence.replace(/martin\b/g, "KK");
最后改变成为 "martinis hiKK goo goomartingoo"
例子3: 不在每个词的开始位置
result = sentence.replace(/\Bmartin/g, "KK");
最后改变成为 "martinis hiKK goo gooKKgoo"
例子4: 不在每个词的尾部位置
result = sentence.replace(/martin\B/g, "KK");
最后改变成为 "KKis himartin goo gooKKgoo"
例子5: 不在每个词的尾部或开始的位置
result = sentence.replace(/\Bmartin\B/g, "KK");
最后改变成为 "martinis himartin goo gooKKgoo"