#javascript #regex #hindi
Вопрос:
Я нашел шаблон регулярного выражения для удаления всех не алфавитных букв: p{L}
Таким образом, я выполнил регулярное выражение, чтобы удалить все не алфавитные, не цифровые и не подчеркивающие символы : /[^p{L}d_]/gimu
К сожалению, это не работает с персонажем хинди, #फ्रांस
который дает फरस
Посмотрите сами здесь https://regex101.com/r/dnXDK0/1
И, пожалуйста, помогите мне 🙂
Ответ №1:
Ты забыл о диакритических знаках. Вам нужно добавить p{M}
или p{Mn}
в класс отрицаемых символов:
/[^p{L}p{M}d_]/gu
Смотрите демонстрацию регулярных выражений.
Обратите внимание, что здесь вам не нужны флаги i
и. m
m
переопределяет поведение привязки, но ваше регулярное ^
выражение не содержит ни $
. i
делает регистровые буквы совпадающими без учета регистра, но p{L}
соответствует всем буквам, прописным и строчным.