Regex для не-алфавитов и цифр

Пожалуйста, предоставьте решение для регулярного выражения, как указано в C # .NET: мне понадобится RegEx для неалфавитов (от a до z, от A до Z) и Non-Numerals (от 0 до 9). Смысл говорить как обратный путь для получения регулярного выражения, отличного от алфавитов и других чисел (от 0 до 9).

Просьба предложить решение для того же самого.

Здесь вы можете использовать class отрицательных символов :

[^a-zA-Z0-9] 

Выше регулярное выражение будет соответствовать одному символу, который не может быть латинским строчным или заглавным буквам или числом.

^ В начале classа символа (часть между [ и ] ) отрицает полный class, чтобы он соответствовал чему-то не в classе, а не нормальному поведению символьного classа.

Чтобы сделать его полезным, вы, вероятно, захотите один из них:

  1. Ноль или более таких символов

     [^a-zA-Z0-9]* 

    Звездочка ( * ) здесь означает, что предыдущую часть можно повторить ноль или более раз.

  2. Один или несколько таких символов

     [^a-zA-Z0-9]+ 

    Плюс ( + ) здесь означает, что предыдущая часть может повторяться один или несколько раз.

  3. Полная (возможно, пустая) строка, состоящая только из таких символов

     ^[^a-zA-Z0-9]*$ 

    Здесь символы ^ и $ имеют значение как якоря , соответствующие началу и концу строки, соответственно. Это гарантирует, что вся строка состоит из символов, не входящих в этот class символов, и никакие другие символы не появляются до или после них.

  4. Полная (непустая) строка, состоящая только из таких символов

     ^[^a-zA-Z0-9]+$ 

Разрабатывая бит, это не будет (и не может) убедиться, что вы не будете использовать какие-либо другие символы, возможно, из других сценариев. Строка аеΒ будет полностью верна с указанным выше регулярным выражением, потому что она использует буквы из греческого языка и кириллицы. Кроме того, есть и другие подводные камни. Строка á будет проходить над регулярным выражением, а строка ́a не будет (потому что она строит букву á из буквы a и комбинирует диакритическую метку).

Так что отрицательные classы персонажей должны приниматься с осторожностью.

Я также могу использовать цифры из других сценариев, если бы захотел: ١٢٣ 🙂

Вы можете использовать class символов

 [^\p{L&}\p{Nd}] 

если вам нужно позаботиться о вышеуказанных вещах.

Чтобы выполнять местные настройки, используйте:

 [^[:alnum:]] 

просто отрицайте class:

[^A-Za-z0-9]