在正则表达式中用问号?紧跟一个字符后面,表明这个字符“可有可无”。
比如表达式“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)??',2003').group() 'feb 23'