我遇到了一个问题,我需要捕获Kleene plus闭包中的所有组。我尝试了另一个场景,并得到了相同的行为。这是一个例子
(?:([A-Za-z]+) )+
表示字符串
This is a sentence.
我总是以小组而不是所有可能的小组取回最后一场比赛。在上面的例子中,组(1)是a
并且没有其他组。我希望group(1)为This
group(2)为is
和group(3)a
。对于上述情况,我使用的是search
修改
我没有使用我关心的确切案例,这是正确的。
\{([ A-Z]+)(?:\|([ A-Z]+))+\}
和
NBAR -> { AP NBAR | NBAR PP | VPG | N | N N }
在这种情况下,findall
不起作用。使用this online tool我得到的[(u' AP NBAR ', u' N N ')]
与groups()
给我的内容非常相似。
答案 0 :(得分:2)
re.findall("[A-Za-z]+", sentence)