请你帮我解决这个问题:
考虑以下几行:
"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
答案 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("'[^']+')