2014-05-13 33 views
0

看似簡單的正則表達式的命令似乎放蟒蛇到一個無限循環/掛機:Python正則表達式中的無限循環?

import re 
re.search(r"([A-Z]+\s*)+,", "UNITED STATES OF AMERICA ON BEHALF OF THE ENVIRONMENTAL") 

我等了大約10分鐘,對於上面的命令來完成,但它從來沒有。然而,線下約5至10秒鐘我的機器上後完成:

re.search(r"([A-Z]+\s*)+,", "UNITED STATES OF AMERICA ON BEHALF") 

所以這是一個Python的bug或者是書面的效率非常低的特定的正則表達式?如果問題是後者,爲什麼會這樣,我能做些什麼來解決它?

回答

0
re.search(r"([A-Z]+\s*)+", "UNITED STATES OF AMERICA ON BEHALF OF THE ENVIRONMENTAL") 

刪除逗號,或者如果你想要做一個字面匹配

+3

它已經字面,backslashing它不會做任何與\逃避它。 – hobbs