如何在Python中的一行括号内打印字符串?

时间:2013-08-28 07:45:22

标签: python regex

我在文本文件中有很多行。他们看起来像,例如:

562: DEBUG, CIC, Parameter(Auto_Gain_ROI_Size) = 4
711: DEBUG, VSrc, Parameter(Auto_Contrast) = 0 

我想确定parantheses中的字符串,例如,在这种情况下输出应该 “Auto_Gain_ROI_Size”和“Auto_Contrast”。

请注意,string始终用“Parameter()”括起来。感谢。

1 个答案:

答案 0 :(得分:4)

您可以使用正则表达式:

>>> import re
>>> s = "562: DEBUG, CIC, Parameter(Auto_Gain_ROI_Size) = 4"
>>> t = "711: DEBUG, VSrc, Parameter(Auto_Contrast) = 0 "
>>> myreg = re.compile(r'Parameter\((.*?)\)')
>>> print myreg.search(s).group(1)
Auto_Gain_ROI_Size
>>> print myreg.search(t).group(1)
Auto_Contrast

或者,没有正则表达式(虽然有点麻烦):

>>> print s.split('Parameter(')[1].split(')')[0]
Auto_Gain_ROI_Size
>>> print t.split('Parameter(')[1].split(')')[0]
Auto_Contrast