出处:http://blog.163.com/cjingzm@126/blog/static/11865111920131263553775/
可使被修饰的表达式重复固定次数,也可以限定一定的重复匹配的次数范围。
在限定符之后的表达式能够匹配成功的情况下,不定次数的限定符总是尽可能的多匹配。如果之后的表达式匹配失败,限定符可适当“让出”能够匹配的字符,以使整个表达式匹配成功。这种模式就叫“贪婪模式”。
限定符
说明
{n}
表达式固定重复n次,比如:"w{2}" 相当于 "ww"
{m, n}
表达式尽可能重复n次,至少重复m次:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
{m, }
表达式尽可能的多匹配,至少重复m次:"wd{2,}"可以匹配 "a12","x456"...
?
表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1}
+
表达式尽可能的多匹配,至少匹配1次,相当于 {1, }
*
表达式尽可能的多匹配,最少可以不匹配,相当于 {0, }
“勉强模式”限定符:
在限定符之后添加问号(?),则使限定符成为“勉强模式”。勉强模式的限定符,总是尽可能少的匹配。如果之后的表达式匹配失败,勉强模式也可以尽可能少的再匹配一些,以使整个表达式匹配成功。
限定符
说明
{m, n}?
表达式尽量只匹配m次,最多重复n次。
{m, }?
表达式尽量只匹配m次,最多可以匹配任意次。
??
表达式尽量不匹配,最多匹配1次,相当于 {0, 1}?
+?
表达式尽量只匹配1次,最多可匹配任意次,相当于 {1, }?
*?
表达式尽量不匹配,最多可匹配任意次,相当于 {0, }?
“占有模式”限定符:
在限定符之后添加加号(+),则使限定符成为“占有模式”。占有模式的限定符,总是尽可能多的匹配。与“贪婪模式”不同的是,即使之后的表达式匹配失败,“占有模式”也不会“让出”自己能够匹配的字符。
限定符
说明
{m, n}+
表达式尽可能重复n次,至少重复m次。
{m, }+
表达式尽可能的多匹配,至少重复m次。
?+
表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1}+
++
表达式尽可能的多匹配,至少匹配1次,相当于 {1, }+
*+
表达式尽可能的多匹配,最少可以不匹配,相当于 {0, }+