Python正则表达式搜索不适用于包含冒号(:)的字符串

2024-05-14 10:07:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一根线,可以像“某根线”{{键:值}}又是一根绳子{{键:值}}{{键:值}}一些绳子“ 我想找到所有{{键:值}}匹配给定字符串中的子字符串。为此,我尝试的模式是:

string ="fdfd{{dsfdss:dssssasa}} fdsfdsfds"
pattern = re.compile("\\\\[a-z]\w+\:\[a-z]\w+\}}")
abc = re.search( pattern, string)

我也试过用这个

^{pr2}$

但每次都没有返回

建议我最好的方法来完成它。在


Tags: 字符串researchstring模式patternabccompile
2条回答

可以使用以下正则表达式:

(\{\{([^\:]+)\:([^\}]+)\}\}

试试这个简单的正则表达式:

({{(\w+):(\w+)}})

它返回完全匹配和元素:

MATCH 1
1. [4-23] {{dsfdss:dssssasa}}
2. [6-12] dsfdss
3. [13-21] dssssasa

现场试用here

^{pr2}$

编辑: 对于内部部分,regex是{{(\w+:\w+)}}

相关问题 更多 >

    热门问题