返回reoccuring正则表达式匹配python

时间:2012-07-04 21:53:17

标签: python regex

我有一个字符串:

SomeTextSomeTextASomeThingBSomeTextSomeTextASomeThingElseBSomeText

我希望返回字符串SomeThing和SomeThingElse字符串,因为它们用A和B括起来并假设SomeText不包含任何A ... B出现。

任何提示都会受到高度赞赏。

这是我尝试过的,但它不起作用:

import re

string = 'SomeTextSomeTextASomeThingBSomeTextSomeTextASomeThingElseBSomeText'
regex='(A.*B)'

我想正则表达式都不正确,我也不知道如何访问匹配项。它是finditer还是......?

的匹配项

1 个答案:

答案 0 :(得分:3)

尝试使用re.findall

>>> print re.findall('A(.*?)B', s)
['SomeThing', 'SomeThingElse']

查看在线工作:ideone

注意问号。如果没有它,贪婪地完成匹配 - 它将消耗尽可能多的字符。