Регулярное выражение для буквенно-цифровых и пробелов - PullRequest
0 голосов
/ 29 мая 2009

Что такое обычный exp для текста, который не может содержать никаких специальных символов, кроме пробела?

Ответы [ 6 ]

4 голосов
/ 29 мая 2009

Предполагая, что "специальные символы" означают все, что не является буквой или цифрой, а "пробел" означает символ пробела (ASCII 32):

^[A-Za-z0-9 ]+$
3 голосов
/ 29 мая 2009

Поскольку Prajeesh хочет соответствовать только пробелам, \ s будет недостаточно, поскольку он соответствует всем пробельным символам, включая разрывы строк и табуляции.

Набор символов, который должен универсально работать во всех парсерах RegEx:

[A-Za-Z0-9 \ 0x0020]

Дальнейший контроль зависит от ваших потребностей. Границы слов, многострочная поддержка и т. Д. Я бы порекомендовал посетить Regex Library , где также есть ссылки на различные учебные пособия о том, как работает анализ регулярных выражений.

3 голосов
/ 29 мая 2009

[\w\s]*

\w будет соответствовать [A-Za-z0-9] и \s будет соответствовать пробелам.

[\w ]* должно соответствовать тому, что вы хотите.

2 голосов
/ 29 мая 2009

Вам нужно @"^[A-Za-z0-9 ]+$". Класс символов \s соответствует вещам, отличным от пробела (например, табуляции), и вы, так как вы хотите, чтобы убедиться, что ни в одной части строки нет других символов, вы должны привязать ее к ^ и $.

0 голосов
/ 29 мая 2009

В C # я бы поверил, что это ^ (\ w | \ s) * $

0 голосов
/ 29 мая 2009

Если вам нужны только алфавиты и пробелы, вы можете использовать: @ "[A-Za-z \ s] +", чтобы найти хотя бы один символ или пробел. Вы также можете использовать @ "[A-Za-z] +" вместо того, чтобы явно указывать пробел.

В противном случае, пожалуйста, уточните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...