正则中的量词

KuaiKan 6月前 141

正则的量词,就是用特殊字符(元字符)表示多少。比如咱们讲过,.匹配除了换行以外的任一字符,只有一个字,如果我想匹配多个怎么办?那就需要用到量词了。

元字符表示的区间举例
*[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*,可以匹配zzozoo…,匹配zoo时候,是不是匹配上前两个字母zo就停止了?如果只想匹配zooo中的zoo,改怎么办?这就是下面要讲的。

正常情况下,正则匹配跟人一样,都是贪婪的,占有欲极强,总是尽量多的匹配字符。比如:zo*,如果有个字符是:zoooo,会全匹配上。


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回