метод .matches String false, как получить совпадения true - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь проверить, заканчивается ли строка точкой и 2 или 3 символами. Я использую регулярное выражение:

[.][a-z0-9A-Z][a-z0-9A-Z][a-z0-9A-Z]$

Пример строки: qsdgfdssdh.nfo

Он должен возвращать true, но всегда возвращает false.

Вы можете мне помочь?

Спасибо

1 Ответ

0 голосов
/ 12 мая 2018

Функция String#matches применяет шаблон ко всей строке .Таким образом, должно работать следующее:

String input = "qsdgfdssdh.nfo";
if (input.matches(".*\\.[0-9A-Za-z]{3}")) {
    System.out.println("match");
}

Если вам интересно, как ваш текущий шаблон будет соответствовать String#matches, он будет соответствовать .nfo:

String input = ".nfo";
if (input.matches("\\.[0-9A-Za-z]{3}")) {
    System.out.println("match");
}

Демо

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