正则表达式:如何匹配最少的字符(非贪婪)但不低于N.

时间:2013-05-29 11:31:01

标签: regex non-greedy

我想要这样的方法leastMatch(String input,String regExp,int n)
input是输入文本,regExp是正则表达式,n是结果具有的最小字符数 返回值是输入文本的头部,它与正则表达式匹配并包含 至少n个字符。

e.g。
    leastMatch("abababab", "(ab)+", 3) //returns "abab"
    leastMatch("abababab", "(ab)+", 0) //returns ""
    leastMatch("abababab", "(ab)+", 4) //returns "abab"

1 个答案:

答案 0 :(得分:0)

使用此语法:

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

您可以轻松确定n允许ab的数量和ab长度(本例中为2)