0

请你帮我解决这个问题:

考虑以下行:

"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
4

2 回答 2

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'
于 2013-07-07T00:03:51.190 回答
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("'[^']+')
于 2013-07-07T02:10:01.930 回答