在模式中匹配字符,数字和特殊字符

时间:2011-08-03 20:23:12

标签: regex special-characters

在字符串中我可以拥有以下内容:

this is a string ::foo:bar:: ::baz:123abc:: ::bäz:üéü:: ::#$%%:4/4::

如何通过::获取包含::的所有部分,并以r'::([a-z0-9]+):([a-z0-9]+)::' 结尾,并匹配其间的内容。 在这些冒号中,我需要过滤掉字符串中的键值对。

如果不存在特殊字符,那么正则表达式将如下所示:

{{1}}

我可以手动列出那些特殊的字符,但我认为这不是正确的方法。

THX

2 个答案:

答案 0 :(得分:3)

使用非冒号:

 r'::([^:]+):([^:]+)::'

答案 1 :(得分:2)

首先,您应该提到您想要使用的正则表达式风格/工具,但通常是:

r'::([^:]+)::

也应该捕捉特殊字符。

HTH