Простое регулярное выражение Java - PullRequest
5 голосов
/ 18 февраля 2011

Я хочу указать регулярное выражение, которое находит, есть ли в строке какие-либо не-буквенные числа без символов.

В основном я хочу, чтобы оно принимало [a-z][A-Z][0-9] в любом порядке, любую комбинацию ..должен быть действительным.

Как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 18 февраля 2011

Вместо:

[a-z][A-Z][0-9] 

Совпадение с:

[a-zA-Z0-9]+

Из API:

Greedy quantifiers
X?  X, once or not at all
X*  X, zero or more times
X+  X, one or more times
X{n}    X, exactly n times
X{n,}   X, at least n times
X{n,m}  X, at least n but not more than m times
3 голосов
/ 18 февраля 2011
String s = ".... ;

System.out.println(s.matches(".*[^a-zA-z0-9].*"));

возвращает true, если присутствует недопустимый символ.

Редактировать: Но первый ответ от JZD лучше:

s.matches("[a-zA-Z0-9]+");

Возвращает true, если недопустимый символ отсутствует , то есть строка правильная.

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