我有这根绳子。你知道吗
Votre vol : Casablanca - Paris Mercredi 31 août 2016 AF1197 - Ecoi 7 septembre 2016 AF1196 - Economy 15:20 Paris , Charles de Gaulle (CDG) , FRANCE - Terminal 2E Heure Limite d'Enregister un supplément.
使用以下正则表达式
(?:Votre vol|Your flight)(.*?([0-9]{1,2}\s[^\s]+?\s[0-9]{4}))+
我想在不同的组中捕获31 août 2016
和7 septembre 2016
。你知道吗
如果我删除最后一个日期,第一个日期就会被捕获。你知道吗
(Python味)
由于无法使用
re
将所有捕获的子字符串保留在一个组中,因此只能遵循以下两步过程:re.findall(r'\b[0-9]{1,2}\s+\S+\s+[0-9]{4}\b', s)
这样的子模式提取日期(参见regex demo)。你知道吗使用PyPi
regex
模块,您可以使用1-pass方法获得所有必要的结果,因为该库存储每个组的所有捕获。你知道吗正则表达式上的一个小注释:
[^\s]+?\s
可以写成\S+\s
,因为[^\s]
匹配除空格以外的任何字符,而+?
懒惰量词会使匹配速度比贪婪的+
慢一些(\s
是相反的速记字符类,因此\S+\s
在这里是最佳的)。你知道吗相关问题 更多 >
编程相关推荐