Регулярное выражение для буквенно-цифровых символов, а также других алфавитов, таких как китайский, японский, кириллица

мои знания о Regex ограничены, и я пытаюсь сохранить текст следующего предложения, но удалить специальные символы, такие как тире:

Λένα & Πλάτωνος - Red Axes Remixes
Sugai Ken 鯰上 - On The Quakefish

Кто-нибудь знает, как работать с разными алфавитами? Я пробовал ([^\w'])+, но он удаляет основные символы...

Спасибо!


person silveur    schedule 15.06.2016    source источник
comment
Какой ПЛ вы используете? Эта тема может помочь вам http://stackoverflow.com/questions/1716609/how-to-match-cyrillic-characters-with-a-regular-expression   -  person morels    schedule 15.06.2016
comment
Зависит от разновидности регулярного выражения/языка/инструмента программирования. Попробуйте [^\p{L}\p{M}']+   -  person Wiktor Stribiżew    schedule 15.06.2016
comment
Я использую Nodejs в шаблоне Jade   -  person silveur    schedule 15.06.2016
comment
Хорошо, ЖС. Используйте XRegExp. Или посмотрите мой ответ.   -  person Wiktor Stribiżew    schedule 15.06.2016
comment
Я имею в виду не только кириллицу, но и японский, китайский и так далее...   -  person silveur    schedule 15.06.2016
comment
Возможно, проще изменить ситуацию и, в частности, удалить определенные символы, а все остальное оставить в покое?   -  person deceze♦    schedule 15.06.2016


Ответы (1)


Вы можете попробовать что-то вроде этого:

`[^\x00-\x1F\x21-\x7F]*

Это должно соответствовать чему-либо, кроме обычного набора ascii и пространства. Вы можете обновить это, включив любые другие обычные символы ascii, которые вы хотели бы включить. Как видите, у меня есть 1 диапазон, так что он включает символ «пробел».

Очевидно, что вы можете пойти наоборот и выполнить инклюзивное сопоставление, упрощая включение точных символов для сопоставления:

`[\x80-\x{FFFF} &]*

person engineer14    schedule 15.06.2016