正则表达式匹配''之间的任何东西

时间:2013-07-06 23:45:51

标签: python regex python-2.7 python-3.x

请你帮我解决这个问题:

考虑以下几行:

"Duplicate entry 'blah@gmail.com' for key 'email'"

我需要一个正则表达式,它匹配''包含空格,新行,以及''之间的任何'字符'之间的任何内容。

使用的代码是:(Python)

value = "Duplicate entry 'blah@gmail.com' for key 'email'"
dict = re.findall(r'regex goes here', value)
print dict[0]
print dict[1]

我需要打印:

blah@gmail.com

email

2 个答案:

答案 0 :(得分:2)

>>> m = re.match("Duplicate entry '(?P<value>.*)' for key '(?P<key>.*)'", "Duplicate entry 'blah@gmail.com' for key 'email'")
>>> m.group('value')
'blah@gmail.com'
>>> m.group('key')
'email'

答案 1 :(得分:1)

string = "Duplicate entry 'blah@gmail.com' for key 'email'"
pattern = re.compile("'[^']*'")
matches = pattern.findall(string)
# matches == ["'blah@gmail.com'", "'email'"]

如果要强制引号中至少包含一个字符:

pattern = re.compile("'[^']+')