Регулярное выражение: как сопоставить наименьшее количество символов (без жадности), но не меньше чем N

Я хочу, чтобы такой метод lessMatch (String input, String regExp, int n)
input - входной текст, regExp - регулярное выражение, а n - минимальное количество символов, которое имеет результат.
Возвращаемое значение - это заголовок входного текста, который соответствует регулярному выражению и содержит не менее n символов.

например
leastMatch("abababab", "(ab)+", 3) //returns "abab"
leastMatch("abababab", "(ab)+", 0) //returns ""
leastMatch("abababab", "(ab)+", 4) //returns "abab"

1 ответ

Используйте этот синтаксис:

(ab){3,}    --> 3 or more
(ab){0,2}   --> less than 3
(ab){2,5}   --> between 2 and 5
(ab){3}     --> 3

Вы можете легко определить количество ab а ты разрешаешь ab длина (2 в этом примере)

Другие вопросы по тегам