Как я могу сделать это где-нибудь?
По сути, я пытаюсь сопоставить всевозможные разные символы, такие как амперсанды, точки с запятой, знаки доллара и т. Д.
Как я могу сделать это где-нибудь?
По сути, я пытаюсь сопоставить всевозможные разные символы, такие как амперсанды, точки с запятой, знаки доллара и т. Д.
Ответы:
[^a-zA-Z\d\s:]
\d
и \s
являются расширениями Perl , которые , как правило , не поддерживаются старыми инструментами нравится grep
, sed
, tr
, lex
и т.д.
Это должно сделать это:
[^a-zA-Z\d\s:]
Если вы хотите использовать символы латинского акцентирования (например, à Ñ) как обычные буквы (т.е. избегать их совпадения), вам также необходимо включить соответствующий диапазон 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
совпадение букв, цифр и подчеркивания.
Попробуй это:
[^a-zA-Z0-9 :]
Пример JavaScript:
"!@#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".")
Смотрите онлайн пример:
Никаких буквенно-цифровых символов, пробелов или '_'.
var reg = /[^\w\s)]|[_]/g;
Это регулярное выражение работает для C # , PCRE и Go, чтобы назвать несколько.
Это не работает для JavaScript на Chrome, как говорит RegexBuddy . Но здесь уже есть пример для этого.
Это основная часть этого:
\p{L}
который представляет собой \p{L}
или \p{Letter}
любой вид письма с любого языка.
Само полное регулярное выражение: [^\w\d\s:\p{L}]
Пример: https://regex101.com/r/K59PrA/2
В JavaScript:
/[^\w_]/g
^
отрицание, т.е. выберите что-либо не в следующем наборе
\w
любой символ слова (т. е. любой буквенно-цифровой символ плюс знак подчеркивания)
_
отрицание подчеркивания, так как оно считается символом «слово»
Пример использования - const nonAlphaNumericChars = /[^\w_]/g;
/[^a-zA-Z0-9\s\:]*/