Задать вопрос
Kozack
@Kozack
Thinking about a11y

Почему не работает регулярное выражение?

Если искать текст на латинице то всё праильно
/\bword/.test('word') // -> true
/\bword/.test('notword') // -> false

Но кирилицу не обрабатывает
/\bслово/.test('слово') // -> false
/\bслово/.test('неслово') // -> false
  • Вопрос задан
  • 882 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
lazalu68
@lazalu68
Salmon
"Почему не работает регулярное выражение?" - если вкратце, то потому что вот так вот. Если б вы попробовали погуглить, вы бы узнали, что "\b" работает только для первых скольких-то ASCII символов. Там же на SO написано, как можно это обойти.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Древний баг: \b не работает с кириллицей, потому что опирается на \w, а он не работает с кириллицей.
sad but true.

/(?:^|\s)слово/u.test('слово') // -> true
/(?:^|\s)слово/u.test('неслово') // -> false
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы