詞邊界斷言:\b, \B
單詞邊界斷言檢查字串中的當前位置是否是單詞邊界。單詞邊界是指下一個字元是單詞字元而前一個字元不是單詞字元,反之亦然。
語法
正則表示式
\b
\B
描述
\b 斷言字串中的當前位置是單詞邊界。\B 否定了該斷言:它斷言當前位置不是單詞邊界。兩者都是斷言,因此與其他的字元轉義或字元類別轉義不同,\b 和 \B 不會消耗任何字元。
單詞字元包括以下內容:
- 字母(A–Z,a–z)、數字(0–9)和下劃線(_)。
- 如果正則表示式是Unicode 感知的並且設定了
i標誌,則透過大小寫摺疊規範化為上述字元之一的其他 Unicode 字元。
單詞字元也由 \w 字元類別轉義匹配。
超出範圍的輸入位置被視為非單詞字元。例如,以下是成功匹配:
js
/\ba/.exec("abc");
/c\b/.exec("abc");
/\B /.exec(" abc");
/ \B/.exec("abc ");
示例
檢測單詞
以下示例檢測字串是否包含單詞“thanks”或“thank you”:
js
function hasThanks(str) {
return /\b(thanks|thank you)\b/i.test(str);
}
hasThanks("Thanks! You helped me a lot."); // true
hasThanks("Just want to say thank you for all your work."); // true
hasThanks("Thanksgiving is around the corner."); // false
警告:並非所有語言都有明確定義的單詞邊界。如果你正在處理像中文或泰語這樣沒有空格分隔符的語言,請使用更高階的庫,例如 Intl.Segmenter 來搜尋單詞。
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # prod-Assertion |
瀏覽器相容性
載入中…