一、{}:里面写多少,就按照规则找多少
例如:
{}执行结果
会找4个数字字符。
二、{,}:至少找到x个规则内的字符
例如:
{,}执行结果
我们传入按\d的规则至少找4个,但这里给我们找到尽头了,是因为这个方法是贪婪模式,要想关闭贪婪模式,{,}后传入一个?,让我们试试:
{,}?执行结果
如图,传入?关闭贪婪模式后,就找到了最小限度的\d结果。
现在我们加上范围试试,比如传入{3,8}的范围,不关闭贪婪模式,结果为:
{}加上范围
他会找3,8内最大限度的规则内的结果,反之,关闭贪婪模式:
{}?加上范围
则会找范围内最小限度的符合规则的字符。
三、+:至少匹配1次以上
例如:
+
因为没加?来关闭贪婪模式,则会匹配规则内最大限度的字符。
四、*:至少匹配0次以上
*和别的不同的地方在于,如果规则范围内没有结果,还是会返回一个空字符串。而别的方法如果没有匹配结果,则什么都不会返回。
如果字符串是'assadasd111',规则为\d,执行会返回:
*
返回空字符串,为什么呢?因为刚开始没找到\d范围内(数字)的字符,但满足了0次以上的要求,则返回空字符串。
五、?:关闭贪婪模式