Регулярное выражение ([A-Za-z] *) соответствует цифрам и специальным символам?

55
8

Мне нужно проверить текстовое поле в моем приложении. этот элемент не содержит ни цифры, ни специального символа, поэтому я попробовал это регулярное выражение: [A-Za-z] * Проблема в том, что это регулярное выражение не работает, когда я помещаю цифру или специальный символ посередине или в конце Строка.

спросил(а) 2012-03-10T01:06:00+04:00 8 лет, 3 месяца назад
1
Решение
66

вы проверяете, помогите мне утвердить тип времени даты YYYY-MM-DDThh: mm: ss.sssZ или YYYY-MM-DD

^(((19|20)[0-9][0-9])-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]))|(((19|20)[0-9][0-9])-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])T([01]?[0-9])|([2][0123]):([012345]?[0-9]):([012345]?[0-9])\.([0-9][0-9][0-9][Z]))$

ответил(а) 2017-08-21T06:09:00+03:00 2 года, 10 месяцев назад
86

Вы должны использовать его следующим образом:

^[A-Za-z]+$

для соответствия текста (1 или более по длине), содержащего только буквы ASCII.

ответил(а) 2012-03-10T01:07:00+04:00 8 лет, 3 месяца назад
66

Идем дальше и попробуем ^[A-Za-z]*$ вместо этого.

ответил(а) 2012-03-10T01:08:00+04:00 8 лет, 3 месяца назад
54

Вы можете использовать следующее Regex:

Pattern p = Pattern.compile("^[A-Za-z]*$");

См. Список спецификаций regex на странице http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html.

Образец, который вы описываете, никогда не будет работать. Без начальных и конечных связей шаблон будет искать подстроку, которая соответствует. Так как пустая строка также разрешена (звезда означает 0 или более символов), можно просто использовать пустую строку в любом месте.

ответил(а) 2012-03-10T01:10:00+04:00 8 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема