2014-04-28 105 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

相关问题