我有一个字符串:
SomeTextSomeTextASomeThingBSomeTextSomeTextASomeThingElseBSomeText
我希望返回字符串SomeThing和SomeThingElse字符串,因为它们用A和B括起来并假设SomeText不包含任何A ... B出现。
任何提示都会受到高度赞赏。
这是我尝试过的,但它不起作用:
import re
string = 'SomeTextSomeTextASomeThingBSomeTextSomeTextASomeThingElseBSomeText'
regex='(A.*B)'
我想正则表达式都不正确,我也不知道如何访问匹配项。它是finditer
还是......?
答案 0 :(得分:3)
尝试使用re.findall
:
>>> print re.findall('A(.*?)B', s)
['SomeThing', 'SomeThingElse']
查看在线工作:ideone
注意问号。如果没有它,贪婪地完成匹配 - 它将消耗尽可能多的字符。