Я не могу понять, как это сделать в любом месте. Любая помощь?
В основном я пытаюсь сопоставить всевозможные разные символы, такие как амперсанды, точки с запятой, знаки доллара и т.д.
Я не могу понять, как это сделать в любом месте. Любая помощь?
В основном я пытаюсь сопоставить всевозможные разные символы, такие как амперсанды, точки с запятой, знаки доллара и т.д.
[^a-zA-Z\d\s:]
Это должно сделать это: [^a-zA-Z\d\s:]
Надеюсь, это поможет!
Попробуйте это
[^a-zA-Z0-9 :]
Пример JS:
"[email protected]#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".")
См. онлайн-пример:
Если вы хотите обрабатывать акцентированные латинские символы (например, à Ñ) как обычные буквы (т.е. избегать их соответствия), вам также необходимо включить соответствующий диапазон Unicode (\u00C0-\u00FF) в вашем регулярном выражении, поэтому он будет выглядеть так:
/[^a-zA-Z\d\s:\u00C0-\u00FF]/g
^
отрицает, что следуетa-zA-Z
соответствует строкам верхнего и нижнего регистра\d
соответствует цифрам\s
соответствует пробелу (если вы хотите только сопоставить пробелы, замените это пробелом):
соответствует двоеточие\u00C0-\u00FF
соответствует диапазону Unicode для акцентированных латинских символов.пь. Совпадение диапазонов Unicode может не работать для всех двигателей с регулярными выражениями, но выше, безусловно, работает в Javascript (как показано в этой ручке на Codepen).
Nb2. Если вас не беспокоят соответствующие символы подчеркивания, вы можете заменить a-zA-Z\d
на \w
, который соответствует буквам, цифрам и символам подчеркивания.
Нет буквенно-цифрового, пробела или '_'.
var reg = /[^\w\s)]|[_]/g;
если вы имеете в виду "не буквенно-цифровые символы", попробуйте использовать этот
var reg =/[^a-zA-Z0-9]/g //[^abc]
Попробуйте добавить это
^[^a-zA-Z\d\s:]*$
Это сработало для меня...:)
"0_0 (: /-\ :) 0-0".replace(/[^a-zA-Z0-9 :]/g,"")
работал у меня. Тем не менее,
replace(/[^a-zA-Z/d :]/g,"")
не работал у меня.