每天写1000字每天写500字

python 26:点-星匹配的贪心与非贪心模式

2019-12-03  本文已影响0人  金石明镜

点-星匹配,匹配所有字符串。其中,点匹配除换行符外的所有字符,而星是前面重复0次或多次。

点-星匹配有两种模式:贪心与非贪心模式。贪心模式匹配尽可能长,而非贪心模式匹配尽可能短。默认是贪心模式,非贪心是通过在点-星后面加问号实现的。

非贪心模式:

>>> nongreedyRegex=re.compile(r'<.*?>')

>>> mo=nongreedyRegex.search('<To serve man> for dinner.>')

>>> mo.group()

'<To serve man>'

贪心模式:

>>> greedyRegex=re.compile(r'<.*>')

>>> mo1=greedyRegex.search('<To serve man> for dinner.>')

>>> mo1.group()

'<To serve man> for dinner.>'

两个正则表达式都可以翻译成“匹配一个左尖括号,接下来是任意字符,接下来是一个右尖括号。但是字符串'<To serve man> for dinner>'对右尖括号有两种可能的匹配。在非贪心的正则表达式 Python匹配最短可能的字符串:’<To serve man>’。在贪心版本中,Python匹配最长可能的字符串'<To serve man>for dinner.>'。

上一篇 下一篇

猜你喜欢

热点阅读