2009-10-29 5 views
0

Обычный символ альфа для регулярных выражений \w в .NET Framework соответствует буквенно-цифровым символам и, следовательно, эквивалентен [a-zA-Z0-9], правильно? Есть ли в .NET эквивалент [a-zA-Z]?Есть ли альфа-метчик для .NET Regex?

ответ

6

Не совсем, \w также соответствует символам подчеркивания и акцента (ä, ó и т. Д.).

Если вы просто хотите, чтобы соответствовать письма (в том числе с ударением из них), вы можете использовать свойство Unicode \p{L}

+0

Дополнительная информация о http://www.regular-expressions.info/unicode.html –

+3

Вот ссылка на все классы символов в .NET Regex очень подробно: http://msdn.microsoft.com/en-us/library/20bw873z.aspx –

0

От MSDN documentation:

Если указано ECMAScript-совместимое поведение, \ ш эквивалентно к [a-zA-Z_0-9]. Информацию о регулярных выражениях ECMAScript см. В разделе Параметры регулярного выражения и ECMAScript против поведения канонического соответствия.

Так что, если вы используете

new Regex("\w", RegexOptions.ECMAScript); 

Это будет эквивалентно [a-zA-Z_0-9]

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