在匹配正则的时候或许会遇到返回的结果多几个字符或者少几个字符,什么原因呢,这个就是正则的贪婪与非贪婪模式,假设,我的匹配字符是:
a = 'asdf444adfadf adfsadf'
正则表达式的贪婪模式:
[a-z]{2,6}
打印结果
['asdf', 'adfadf', 'adfsad']
按原理来说在匹配到第二个字符的时候条件就已经满足了,但是为什么又继续往后匹配,这个就是正则表达式复数的贪婪模式,在匹配到第二个的时候发现后面还能继续满足条件那么久会继续匹配,直到条件不满足为止。
非贪婪模式跟贪婪模式相反的,理解了贪婪模式那么非贪婪模式也是类似的
开启非贪婪模式的话也很简单,后面加个问号就行
[a-z]{2,6}?