Python正则表达式匹配引号之间的文本

syv*_*vex 8 python regex

在下面的脚本中我想在双引号(")之间拉出文本.但是,python解释器不开心,我无法弄清楚为什么......

import re

text = 'Hello, "find.me-_/\\" please help with python regex'
pattern = r'"([A-Za-z0-9_\./\\-]*)"'
m = re.match(pattern, text)

print m.group()
Run Code Online (Sandbox Code Playgroud)

输出应该是find.me-/\.

Dou*_*der 13

match 从文本的开头开始搜索.

search改为使用:

#!/usr/bin/env python

import re

text = 'Hello, "find.me-_/\\" please help with python regex'
pattern = r'"([A-Za-z0-9_\./\\-]*)"'
m = re.search(pattern, text)

print m.group()
Run Code Online (Sandbox Code Playgroud)

matchsearch返回None时,他们不匹配.

我猜你是AttributeError: 'NoneType' object has no attribute 'group'从python 得到的:这是因为你假设你将匹配而不检查返回re.match.