正则表达式(候选项)

在正则表达式中用问号?紧跟一个字符后面,表明这个字符“可有可无”。

比如表达式“colou?r不仅可以匹配color,也可以匹配colour.

表达式”nov(ember)?"可以匹配nov和november

其实用大括号也可以达到“候选项“效果。比如表达式‘colou{0,1}r同样同时匹配color和colour。

由于表达式引擎的贪心性质,表达式Feb 23(rd)?匹配Today is Feb 23rd, 2003的结果是Feb 23rd而不是Feb 23。

>>> re.search(r'feb 23(rd)?', 'today is feb 23rd, 2003').group()
'feb 23rd'
>>> 
如果去除贪心匹配,使用懒匹配,那么就在问号后面再加一个问号。

>>> re.search(r'feb 23(rd)??', 'today is feb 23rd, 2003').group()
'feb 23'


你可能感兴趣的:(正则表达式(候选项))