Пожалуйста, помогите о регулярном выражении - PullRequest
0 голосов
/ 28 июня 2010

Что не так с этим выражением?

^[a-zA-Z]+(([\''\-][a-zA-Z])?[a-zA-Z]*)*$

Я хочу разрешить буквенные символы с пробелом, - и 'символы

например О'Нил; Джексон-Питер, Мэри Джейн

Ответы [ 3 ]

3 голосов
/ 28 июня 2010

Следующее - это все, что вам нужно:

^[a-zA-Z' -]+$

Важно то, что "-" - последний символ в группе, в противном случае он будет интерпретирован как диапазон (если вы не избежали егос "\")

То, как вы фактически вводите это выражение в виде строки на целевом языке, зависит от языка.Для C # я обычно использую строки "@", например:

var regex = new Regex(@"^[a-zA-Z' -]+$");
2 голосов
/ 28 июня 2010

Это будет соответствовать любой строке, состоящей как минимум из одного символа, который может быть буквенным символом, дефисом или знаком одиночной кавычки:

^[a-zA-Z-\']+$

Это также будет включать пустые строки:

^[a-zA-Z-\']*$

Если он должен начинаться и заканчиваться буквенными символами (как и имена):

^[a-zA-Z][a-zA-Z-\']*[a-zA-Z]$
0 голосов
/ 28 июня 2010

Как то так?

^[a-zA-Z '\-,]*$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...