Python中的正则表达式(二)——search方法中表示数量的方法

一、{}:里面写多少,就按照规则找多少

例如:


{}执行结果

会找4个数字字符。


二、{,}:至少找到x个规则内的字符

例如:


{,}执行结果

我们传入按\d的规则至少找4个,但这里给我们找到尽头了,是因为这个方法是贪婪模式,要想关闭贪婪模式,{,}后传入一个?,让我们试试:


{,}?执行结果

如图,传入?关闭贪婪模式后,就找到了最小限度的\d结果。

现在我们加上范围试试,比如传入{3,8}的范围,不关闭贪婪模式,结果为:


{}加上范围

他会找3,8内最大限度的规则内的结果,反之,关闭贪婪模式:


{}?加上范围

则会找范围内最小限度的符合规则的字符。


三、+:至少匹配1次以上

例如:


+

因为没加?来关闭贪婪模式,则会匹配规则内最大限度的字符。


四、*:至少匹配0次以上

*和别的不同的地方在于,如果规则范围内没有结果,还是会返回一个空字符串。而别的方法如果没有匹配结果,则什么都不会返回。

如果字符串是'assadasd111',规则为\d,执行会返回:


*

返回空字符串,为什么呢?因为刚开始没找到\d范围内(数字)的字符,但满足了0次以上的要求,则返回空字符串。


五、?:关闭贪婪模式

你可能感兴趣的:(Python中的正则表达式(二)——search方法中表示数量的方法)