在python中匹配到使用re的模式

时间:2015-08-06 10:38:21

标签: python regex python-2.7

我试图在我的案例中找到两种模式特定模式之间的模式(名称" =>")和("):

In[78]: temp = '"name"=>"Aditya Patel  % _ . -  2015"'
In[79]: res = re.search(r'(name"=>")([\w\s\d]+)',temp)
In[80]: res.group()
Out[80]: 'name"=>"Aditya Patel  '

所以我的输出应该包含所有内容。

在上面的示例中,它将是

Aditya Patel  % _ . -  2015

由于

3 个答案:

答案 0 :(得分:1)

您可以使用:

print re.search(r'name"=>"([^"]+)',temp).group(1)

或使用lookbehind:

print re.search(r'(?<=name"=>")[^"]+',temp).group()

<强>输出:

Aditya Patel  % _ . -  2015

答案 1 :(得分:1)

这就是你想要的吗

re.search(r'name"=>"([^"]*?)"',temp).group(1)

<强>输出:

'Aditya Patel  % _ . -  2015'

答案 2 :(得分:0)

此方法假设您所引用的值是输入字符串中的第二个值:

s = '"name"=>"Aditya Patel  % _ . -  2015"'
if s.find('=>') > -1:
    print(s.split('=>')[1].strip(' "'))

请参阅demo