gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:12:48 25 4
gpt4 key购买 nike

我有一个字符串,它可以像“一些字符串 {{key:value}} 又一些字符串 {{key:value}}{{key:value}} 一些字符串”我想从给定的字符串中找到所有 {{key:value}} 匹配的子字符串。为此,我正在尝试的模式是这样的:

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

我也用这个试过

pattern = re.compile("\\\\[a-z]\w+:[a-zA-Z]\w+\}}")
abc = re.search( pattern, string)

但是每次都返回 None

建议我完成它的最佳方法。

最佳答案

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

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

它返回完整匹配和元素:

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

现场试用 here

Python代码:

import re
string = u'fdfd{{dsfdss:dssssasa}} fdsfdsfds'
pattern = re.compile(ur'({{(\w+):(\w+)}})')
print(re.findall(pattern, string))

编辑:仅对于内部部分,正则表达式为 {{(\w+:\w+)}}

关于Python 正则表达式搜索不适用于包含冒号的字符串(:),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33871245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com