Как заставить регулярное выражение соответствовать только кириллическим болгарским буквам
Здравствуйте, я хочу заменить все буквы из булгарского алфавита на пустую строку
Я видел эту ссылку
Как сопоставить кириллические символы с регулярным выражением
но это не работает для меня
Вот что я пробовал
1. var newstr = strInput.replace(/[\p{IsCyrillic}]/gi, '');
не работает!
2. var newstr = strInput.replace(/[\p{Letter}]/gi, '');
тоже ничего
спасибо за помощь;
Ответы
Ответ 1
Javascript не поддерживает классы Unicode формы \p{IsCyrillic}
.
Но, предполагая, что символы, которые вы хотите заменить, находятся в Unicode кириллице диапазон 0400 - 04FF, вы можете использовать:
newstr = strInput.replace( /[\u0400-\u04FF]/gi, '' );
Например:
var strInput = 'уфхцчшщъhelloЁЂЃЄрстыьэю',
newstr = strInput.replace( /[\u0400-\u04FF]/gi, '' );
console.log( newstr ); // 'hello'
Ответ 2
Я думаю, что JavaScript RegEx не поддерживает этот синтаксис.
Может быть, это поможет?
XRegExp
Ответ 3
Другой способ:
Pattern.compile("[А-я]+", Pattern.UNICODE_CHARACTER_CLASS).matcher(strInput ).replaceAll("") ;
Где [А-я]+
- ваш алфавит.