String.matches()
Проверяет, соответствует ли вся строка регулярному выражению.
Доступно с: Java 1.4
Синтаксис
public boolean matches(String regex)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| regex | String | Регулярное выражение. |
Возвращаемое значение
booleantrue, если строка целиком подходит под выражение.
Примеры
Простые проверки формата:
void main() {
IO.println("12345".matches("\\d+"));
IO.println("12a45".matches("\\d+"));
IO.println("anna_92".matches("[a-z0-9_]{3,16}"));
IO.println("+1-555-0100".matches("\\+?[\\d-]+"));
}Результат:
true
false
true
trueПроверяется вся строка, а не её часть:
void main() {
IO.println("order 42".matches("\\d+"));
IO.println("order 42".matches(".*\\d+.*"));
}Результат:
false
trueПримечания
s.matches(regex) — сокращение для Pattern.matches(regex, s): каждый вызов заново компилирует выражение. Для проверки большого числа строк скомпилируйте Pattern один раз. Если нужно найти шаблон в части строки, используйте Matcher.find().
См. также
- Matcher.matches() — Проверяет, соответствует ли шаблону вся строка целиком.
- Pattern.compile() — Компилирует регулярное выражение в объект Pattern, который можно использовать много раз.
- String.replaceAll() — Заменяет все совпадения регулярного выражения.
- String.contains() — Проверяет, есть ли в строке подстрока.
Вопросы и ответы по теме
В учебнике
- Регулярные выражения — Регулярные выражения в Java: matches, replaceAll, split по шаблону, классы Pattern и Matcher, группы и экранирование обратной косой черты.