Як я можу зробити це де завгодно?
В основному я намагаюся зіставити всілякі різні символи, такі як амперсанти, крапки з комою, знаки долара тощо.
Як я можу зробити це де завгодно?
В основному я намагаюся зіставити всілякі різні символи, такі як амперсанти, крапки з комою, знаки долара тощо.
Відповіді:
[^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 та Перейдіть, щоб назвати декілька.
Це не працює для 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\:]*/