пятница, 19 апреля 2024 г.

Регулярное выражение - аналог \w с учетом русских символов

В JavaScript регулярное выражение \w соответствует только латинским буквам, цифрам и символу подчеркивания. Оно не включает в себя русские буквы или другие символы, не относящиеся к латинскому алфавиту.

Это связано с тем, что JavaScript использует стандартные регулярные выражения, основанные на стандарте Unicode Regular Expressions. В этом стандарте символ \w соответствует только латинским буквам, цифрам и символу подчеркивания.

Если вам нужно учитывать русские буквы в регулярных выражениях в JavaScript, вы можете использовать символьные классы Unicode. Например, вы можете использовать [\p{L}\p{N}_] для соответствия любой букве, цифре или символу подчеркивания, включая и русские буквы.

При этом буква "ё" на MacOS не равна букве ё в Windows.

MacOS сохраняет кириллическую "ё", как 2 символа.

Поэтому с учетом всех особенностей составляем регулярное выражение - аналог \w с учетом русских символов: 

/^[-_(),.\sa-zа-яЯ̆ёёЁ\d]+$/i