我需要匹配以下群组:
:data:
:abc'e12\:3\:text:
在一个字符串中,意思是
:(?P<data>.*?):
但也允许转义冒号\:
我最好的尝试看起来像这样:
:(?P<data>((?<=\\):|.)*?):
答案 0 :(得分:3)
p = re.compile(r':((\\:|[^:])+):')
print p.match(":abc'e12\:3\:text:").group(0)
答案 1 :(得分:0)
您始终可以确保使用“^”和“$”获取开头和结尾字符:
^:(.+):$
您可以将“。+”替换为您想要的正则表达式类型。