Kozack
@Kozack
Thinking about a11y

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы