我在Python中使用正则表达式。我想在特定模式中最后一次出现空格之前找到字符串。例如,在下面的文字中,我想找到“街道”。 “星期一,[LOC Te Rapa Tika Street]的一名工人”。
任何人都可以帮我找到使用正则表达式的字符串吗?
由于
答案 0 :(得分:2)
在空格上拆分字符串并获取第二个最后一个元素:
>>> strs = "On Monday , a worker at a [LOC Te Rapa Tika Street ]"
>>> strs.split()[-2]
'Street'
答案 1 :(得分:0)
答案 2 :(得分:0)
>>> import re
>>> match = re.search('\[\s?LOC.+\s(\w+)\s?\]', "[LOC Te Rapa Tika Street ]")
>>> match.group(1)
'Street'
无论括号上的间距如何,这都应该有效。
编辑:阅读完评论后,这样会更好
>>> import re
>>> sentence = "A man strolling through the [LOC Pullman Hotel ] in [LOC Waterloo Quadrant ] on Sunday with the bag across his shoulder"
>>> match = re.findall('\[\s?LOC[^\]]+\s(\w+)\s?\]', sentence)
>>> match
['Hotel', 'Quadrant']