8 ответов:
[^a-zA-Z\d\s:]
- \d-числовой класс
- \s-пробел
- a-zA-Z-соответствует всем буквам
- ^ - отрицает их все-так что вы получаете - не числовые символы, не пробелы и не двоеточия
попробуй такое
[^a-zA-Z0-9 :]в JS пример:
"!@#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".")посмотреть онлайн пример:
если вы хотите лечить акцентированные латинские символы (например. à Ñ) как обычные буквы (т. е. избегайте сопоставления их тоже), вам также нужно будет включить соответствующий диапазон Юникода (\u00C0 - \ u00FF) в вашем регулярном выражении, так что это будет выглядеть так:
/[^a-zA-Z\d\s:\u00C0-\u00FF]/g
^отрицает то, что следуетa-zA-Zсоответствует верхним и нижним буквам\dматчи цифр\sсоответствует пробелу (если вы только хотите сопоставьте пробелы, замените это пробелом):соответствует\u00C0-\u00FFсоответствует диапазону Юникода для акцентированных латинских символов.nb. Сопоставление диапазона Unicode может не работать для всех механизмов регулярных выражений, но вышеизложенное, безусловно, работает в Javascript (как показано в эта ручка на Codepen).
Nb2 успешно. Если вы не беспокоитесь о совпадении подчеркиваний, вы можете заменить
a-zA-Z\dС\w, который соответствует буквами, цифры и подчеркивания.
Если вы имеете в виду "не буквенно-цифровые символы", попробуйте использовать это
var reg =/[^a-zA-Z0-9]/g //[^abc]
"0_0 (: /-\ :) 0-0".replace(/[^a-zA-Z0-9 :]/g,"")работал на меня. Однако,
replace(/[^a-zA-Z/d :]/g,"")не работал на меня.
Comments