在字符串中我可以拥有以下内容:
this is a string ::foo:bar:: ::baz:123abc:: ::bäz:üéü:: ::#$%%:4/4::
如何通过::
获取包含::
的所有部分,并以r'::([a-z0-9]+):([a-z0-9]+)::'
结尾,并匹配其间的内容。
在这些冒号中,我需要过滤掉字符串中的键值对。
如果不存在特殊字符,那么正则表达式将如下所示:
{{1}}
我可以手动列出那些特殊的字符,但我认为这不是正确的方法。
THX
答案 0 :(得分:3)
使用非冒号:
r'::([^:]+):([^:]+)::'
答案 1 :(得分:2)
首先,您应该提到您想要使用的正则表达式风格/工具,但通常是:
r'::([^:]+)::
也应该捕捉特殊字符。
HTH