2014-04-28 103 views
1

如何在Python中使用正則表達式來檢測一個文件中只有括號之間的蜇傷? 所以如果我有一些文字是這樣的:使用正則表達式檢測括號之間的字符串

</seg> 
<src>Sono stati riportati casi di (sgomberi forzati) e violazioni dei diritti umani da parte della polizia, ma su scala minore rispetto agli anni precedenti.</src> 

,我只想檢測(sgomberi forzati)

我使用

for line in file.readlines(): 
    m=re.compile('\((.*?)\)', re.DOTALL).findall(line) 
    print m 

,但它不打印什麼,我需要:它也可以打印出像這樣的空括號

[] 
[u'sgomberi forzati'] 
+0

_ 「但它不返回我需要什麼」 _。說得通。它沒有返回任何東西,因爲你的代碼中沒有任何'return'語句。如果你的意思是「它不打印我需要的東西」:它[適用於我](http://ideone.com/oZMDQ1)。除非你希望它印刷「['區域經濟','運輸']'以外的東西'?請描述你期望的輸出類型。 – Kevin

+0

是的,它不打印我需要的東西 – sss

+0

請描述你期望的輸出類型。 – Kevin

回答

1

Escape your () a小號如下:

m = re.compile('\((.*?)\)', re.DOTALL).findall(line)

+0

你的代碼中有什麼新東西,對不起? – sss

+0

@ user3573552,等一下,我發誓你剛剛有''((。*?))''。你是別人改變你的代碼。 o.O – sshashank124

+0

斜槓存在但在代碼的第一個版本中不可見。當它被放入代碼塊時,它們就出現了。 – Kevin

相關問題