Почему приведенное ниже сопоставление с образцом дает True для строки "ababx300000055773908" - PullRequest
0 голосов
/ 25 февраля 2020

Во-первых, извините за примитивный вопрос, мне интересно, как приведенный ниже метод возвращает true

  Pattern.compile("([0-9]{15})").asPredicate().test("ababx300000055773908")

Пожалуйста, дайте мне знать, если я что-то здесь упускаю.

1 Ответ

2 голосов
/ 25 февраля 2020

Вы должны определить начало и конец строки, чтобы соответствовать. ваш шаблон соответствует 15-кратному количеству c во всей строке без учета местоположения шаблона. используйте регулярное выражение ^ [0-9] {15} $

Pattern.compile("(^[0-9]{15}$)").asPredicate().test("ababx300000055773908");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...