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

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

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

非贪心模式:

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

>>> mo=nongreedyRegex.search(' for dinner.>')

>>> mo.group()

''

贪心模式:

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

>>> mo1=greedyRegex.search(' for dinner.>')

>>> mo1.group()

' for dinner.>'

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

你可能感兴趣的:(python 26:点-星匹配的贪心与非贪心模式)