Действительно ли возможно работать с российскими символами в regex JavaScript?
Возможно, использование \p {кириллица}?
Если да, обеспечьте основной пример использования.
Пример:
var str1 = "абв прв фву";
var regexp = new RegExp("[вф]\\b", "g");
alert(str1.replace(regexp, "X"));
Я ожидаю добираться: абX прX
Вот хорошая статья о JavaScript регулярных выражениях и юникоде . Строки в JavaScript 16 бит, поэтому строки и объекты RegExp могут содержать символы юникода, но большинство специальных символов типа '\b', '\d', '\w' поддерживают только ascii. Поэтому ваше регулярное выражение работает не так, как ожидалось, из-за использования '\b'. Похоже, вам придется найти другой способ определения границ слов.
.Должно работать, если просто сохранить JavaScript-файл в UTF8. Тогда вы сможете ввести любой символ в строке.
редактирование: Только что сделал небольшой пример с некоторыми криллическими символами из Википедии:
var cryllic = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяабвгдеёжзийклмнопрстуфхцчшщъыьэюя';
cryllic.match( 'л.+а' )[0];
// returns as expected: "лмнопрстуфхцчшщъыьэюяа"
Согласно это :
JavaScript, который не предлагает ни одного Поддержка Unicode через его Regexp Класс, поддерживает \ Uffff для Соответствие единой точке кода Unicode как часть его строкового синтаксиса.
Итак, вы можете хотя бы использовать кодовые точки, но, казалось бы, ничего более (никаких классов).
Также проверьте этот дубликат вашего вопроса.