2013-05-01 83 views
-1

我遇到了一個問題,我需要捕獲Kleene plus閉包中的所有組。我嘗試了另一種場景,並得到了相同的行爲。因此,一個例子正則表達式捕獲Kleene Plus閉包中的所有組

(?:([A-Za-z]+))+ 

的字符串

This is a sentence. 

我總是回來的最後一場比賽爲一組,而不是所有可能的羣體。在上面的情況下,組(1)是a並且沒有其他組。我想組(1)爲This組(2)爲is和組(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()會給我的很相似。

+1

Python沒有允許這種捕獲的\ G功能。但你可以在這裏找到替代方法:http://stackoverflow.com/questions/529830/do-python-regexes-support-something-like-perls-g – 2013-05-01 04:12:48

回答

2
re.findall("[A-Za-z]+", sentence)