正则的量词,就是用特殊字符(元字符)表示多少。比如咱们讲过,.匹配除了换行以外的任一字符,只有一个字,如果我想匹配多个怎么办?那就需要用到量词了。
元字符 | 表示的区间 | 举例 |
---|
* | [0,+∞) | 正则式zo*,可以匹配:z、zo、zoo… |
+ | [1,+∞) | 正则式zo+、可以匹配:zo、zoo、zooo… |
? | [0,1] | 正则式zo?、可以匹配: z和zo(只有这2种) |
{n} | [n,n] | 正则式zo{2}、只能匹配:zoo |
{n,m} | [n,m] | 正则式zo{2,5}、只能匹配:zoo、zooo、zoooo、zooooo |
{n,} | [n,+∞) | 正则式zo{2,}、可以匹配:zoo、zooo、zooooo… |
表中能看出:量词限定的是紧挨着它的前一个字符出现的次数
细心的小伙伴会有这样的疑问:zo*
,可以匹配z
、zo
、zoo…
,匹配zoo
时候,是不是匹配上前两个字母zo
就停止了?如果只想匹配zooo
中的zoo
,改怎么办?这就是下面要讲的。
正常情况下,正则匹配跟人一样,都是贪婪的,占有欲极强,总是尽量多的匹配字符。比如:zo*
,如果有个字符是:zoooo
,会全匹配上。
签名:这个人很懒,什么也没有留下!