Регулярное выражение [a-z]+

158
23 августа 2018, 04:40

Почему регулярка [a-z]+ в Idea не ищет букву из диапазона a-z, в то время как на https://regexr.ru/ нормально находит?

public static boolean checkTelNumber(String telNumber) {
    if (telNumber.matches("[a-z]+")) return false;
    return true;
}
public static void main(String[] args) {
    System.out.println(checkTelNumber("2345asd2345da"));
}
Answer 1

Потому что метод matches ищет полное совпадение строки с шаблоном.

Вот так будет работать: System.out.println(checkTelNumber("asdda"));

Если нужен поиск по регулярке, тогда:

java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("[a-z]+");
java.util.regex.Matcher m = pattern.matcher("2345asd2345da");
while (m.find()) {
    String s = m.group();
    System.out.println(s);
}

Консоль:

asd
da
Answer 2

Она как раз ищет, только для метода matches должно соответствовать все выражение регулярному выражению вам подойдет или так:

public static boolean checkTelNumber(String telNumber) {
    return !telNumber.matches("\\w+");
}

или так:

public static boolean checkTelNumber(String telNumber) {
    return !telNumber.matches("[a-z0-9]+");
}
READ ALSO
Мой Box2D Body падает на немного при создании box2d libgdx

Мой Box2D Body падает на немного при создании box2d libgdx

Я создаю для практики игру арканоидУ меня есть родительский абстрактный класс GameObject для каждого спрайта в игре(Bat, Brick, Ball):

213
Сравнивание двух объектов

Сравнивание двух объектов

Имеется абсолютно рабочий класс с методом в котором сравниваются два объекта

218
Многопоточность в одном методе

Многопоточность в одном методе

Есть метод, который декомпресит файл, но этот процесс довольной долгий (а файлов 130+)Я решил реализовать это многопоточно

172
Данные в series

Данные в series

Нашёл пример круговой диаграммы написанной на javascript на сайте HighCharts:

193