0

我需要匹配以下组:

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

在一个字符串中,意思是

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

但也允许转义冒号\:

我最好的尝试是这样的:

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

2 回答 2

3
p = re.compile(r':((\\:|[^:])+):')
print p.match(":abc'e12\:3\:text:").group(0)
于 2013-04-01T17:59:34.687 回答
0

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

^:(.+):$

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

于 2013-04-01T17:53:52.527 回答