Python正则表达式匹配转义字符

时间:2013-04-01 17:44:19

标签: python regex

我需要匹配以下群组:

:data:
:abc'e12\:3\:text:

在一个字符串中,意思是

:(?P<data>.*?):

但也允许转义冒号\:

我最好的尝试看起来像这样:

:(?P<data>((?<=\\):|.)*?):

2 个答案:

答案 0 :(得分:3)

p = re.compile(r':((\\:|[^:])+):')
print p.match(":abc'e12\:3\:text:").group(0)

答案 1 :(得分:0)

您始终可以确保使用“^”和“$”获取开头和结尾字符:

^:(.+):$

您可以将“。+”替换为您想要的正则表达式类型。