例如,输入字符串:
In North Dighton, there's a Flash Flood Watch in effect until Wednesday, July 12, 9:00 PM.
我想把下面的字符串提取出来
North Dighton
所以我写python代码如下:
found_group = re.search('(.*)in (.*?),(.*)', "In North Dighton, there's a Flash Flood Watch in effect until Wednesday, July 12, 9:00 PM.", re.IGNORECASE)
fround_group.group(2)
但是它输出:
effect until Wednesday
如何只匹配第一个“in”和第一个逗号之间的部分
注意,第一个“in”可能不是行中的第一个单词。
t=“在北迪格顿,有一个有效的洪水观测,直到7月12日星期三晚上9:00”
o/p公司
'北迪格顿'
您必须使用否定字符类来不匹配
,
,而是匹配任何字符。因为正则表达式中的.*
是贪婪的,在找到匹配之前,它不会吃掉任何字符,或者使.*
像.*?
一样不贪婪Demo 1Demo 2
相关问题 更多 >
编程相关推荐