3 回答

TA貢獻1824條經驗 獲得超6個贊
用不同的例子:
考慮這是要搜索的字符串和模式是'cat':
text = "catmania thiscat thiscatmaina";
現在定義,
'\ b'查找/匹配每個單詞開頭或結尾的模式。
'\ B'找不到/匹配每個單詞開頭或結尾的模式。
不同案例:
案例1:每個單詞的開頭
result = text.replace(/\bcat/g, "ct");
現在,結果是“ctmania thiscat thiscatmaina”
案例2:每個單詞的結尾
result = text.replace(/cat\b/g, "ct");
現在,結果是“catmania thisct thiscatmaina”
案例3:不是在開始
result = text.replace(/\Bcat/g, "ct");
現在,結果是“catmania thisct thisctmaina”
案例4:不是最后的
result = text.replace(/cat\B/g, "ct");
現在,結果是“ctmania thiscat thisctmaina”
案例5:既不是開始也不是結束
result = text.replace(/\Bcat\B/g, "ct");
現在,結果是“catmania thiscat thisctmaina”
希望這可以幫助 :)

TA貢獻1836條經驗 獲得超3個贊
混亂源于你的思維\b
匹配空間(可能是因為“b”表示“空白”)。
\b
匹配單詞開頭或結尾的空字符串。 \B
匹配不在單詞開頭或結尾的空字符串。這里的關鍵是“ - ”不是單詞的一部分。因此<left>-<right>
匹配,\b-\b
因為在任何一側都有單詞邊界-
。另一方面<left> - <right>
(注意空格),短劃線兩側沒有單詞邊界。單詞邊界是左右一個空格。
另一方面,當搜索\bcat\b
單詞邊界時,行為更直觀,并且按預期匹配“cat”。
- 3 回答
- 0 關注
- 1732 瀏覽
添加回答
舉報