Spec-Zone.ru › JavaScript

Ограничение границы слова: \b, \B

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Ограничение границы слова проверяет, является ли текущая позиция в строке границей слова. Граница слова — это место, где следующий символ является символом слова, а предыдущий символ — не является, или наоборот.

Синтаксис

\b
\B

Описание

\b утверждает, что текущая позиция в строке является границей слова. \B отрицает утверждение: оно утверждает, что текущая позиция не является границей слова. Оба являются ограничениями, поэтому, в отличие от других экранирующих последовательностей символов или экранирующих последовательностей классов символов, \b и \B не потребляют никаких символов.

Символ слова включает следующее:

  • Буквы (A–Z, a–z), цифры (0–9) и знак подчеркивания (_).
  • Если регулярное выражение учитывает Unicode и установлен флаг i, другие символы Unicode, которые канонизируются к одному из вышеуказанных символов с помощью свертки регистра.

Символы слова также соответствуют экранирующей последовательности класса символов \w.

Позиции ввода за пределами диапазона считаются несловесными символами. Например, следующие совпадения успешны:

/\ba/.exec("abc");
/c\b/.exec("abc");

/\B /.exec(" abc");
/ \B/.exec("abc ");

Примеры

Обнаружение слов

Следующий пример обнаруживает, содержит ли строка слово "thanks" или "thank you":

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® 2027
# prod-Assertion

Совместимость с браузерами

Настольные Мобильные Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
word_boundary_assertion
1
12
1
5
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Руководство по ограничениям
  • Регулярные выражения
  • Ограничение границы ввода: ^, $
  • Ограничение взгляда вперед: (?=...), (?!...)
  • Ограничение взгляда назад: (?<=...), (?<!...)
  • Экранирование символа: \n, \u{...}

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Word_boundary_assertion

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API