2010-05-29 3 views
4

Как бы написать регулярное выражение (C#), который будет проверять данную строку, чтобы увидеть, если какой-либо из его персонажей символов, за исключением следующих:.NET регулярное выражение

аз
AZ
Æ æ å Å Ø ø - '

+0

В отличие от JavaScript, C# не имеет регулярных выражений как часть языка. Вы спрашиваете о регулярных выражениях .NET, а не регулярных выражениях C#. –

ответ

12
new Regex("[^a-zA-ZÆæÅåØø'-]") 

The [] создает класс символов, то ^ указывает отрицание, поэтому совпадение символов класс, если он не входит в список.

+0

Следует также исключить '' '. – kennytm

+0

Спасибо, @Kenny. –

+0

Обратите внимание, что символ - последний в списке. Если вы хотите, чтобы больше исключенных символов не добавляли их после -, поместите их раньше (или избегайте - с обратной косой чертой), иначе символы слева и справа от - будут рассматриваться как диапазон символов. –

1

Для достижения этой цели вы можете использовать группировку символов в сочетании с оператором отрицания.

Кроме того, необходимо, чтобы избежать - характер (и, возможно, ') с помощью \

Ваше окончательное выражение в следующей редакции:

[^ A-Za-ZÆæÅåØø \ - \'] *

Смежные вопросы