Python在引号中获取字符串

时间:2014-02-06 14:10:59

标签: python string extract quotes

您好我有以下指定的文件数据

ID=3161
Author=Mark 
Context= "eric
speaking 
to 
mark 
about 
goldeninfo"
tag = "dramatic"
type = novel

我想提取引号中的任何信息。我能够提取标签引号中指定的信息,但我无法使用以下正则表达式获取内容信息。

我想提取值,如果在引号中指定,我想提取不在引号中的值。打开建议。

quoted = re.compile('"[^"].*"')
if value in quoted.findall(string): 
  extract it 


elif value not in quoted.findall(string):
   #extract it

由于

Output expected : 
Context= "eric speaking to mark about goldeninfo"
tag = "dramatic"

2 个答案:

答案 0 :(得分:1)

这个怎么样:

>>> match = re.findall('"(.*?)"', string, re.DOTALL)
>>> ' '.join(match[0].split('\n'))
'eric speaking  to  mark  about  goldeninfo' 
>>>
>>> match[1]
'dramatic'
>>>

答案 1 :(得分:0)

请注意,你的正则表达式是指"以外的字符后跟任意数量的任何字符”,而不是(我认为你打算)“任意数量的"

以外的字符

另请注意,[^"]包含换行符,而.则不包括。

相反,请尝试'"[^"]*"'

>>> print re.findall('"[^"]*"', string)
['"eric\nspeaking \nto \nmark \nabout \ngoldeninfo"', '"dramatic"']