gpt4 book ai didi

python - 指示 re.sub 方法中的替换的函数 (Python)

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:58 25 4
gpt4 key购买 nike

尝试使用正则表达式对字符串执行替换。

re.sub(regex, repl_func, content)

问题是,当我需要替换依赖于该 regex 中的匹配对象时,我不明白如何通过 repl_func 进行替换;即,我将使用该匹配的对象作为字典键来获取需要替换该特定对象的匹配值。

    for mobj in re.finditer(regex, content):
t = mobj.lastgroup
v = match_obj.group(t)

if t == 'NAME':
...
elif t == '\n':
...

我尝试迭代所有匹配的对象,如上所示,但无法弄清楚如何应用 re.sub。如果我理解正确,我的第一个代码段中的 repl_function 需要以某种方式知道哪个是该正则表达式中的匹配对象。

任何想法,尤其是使用代码,我都会非常感激,因为我才刚刚开始使用 Python。

最佳答案

re.sub() 函数将匹配的对象作为参数传递给 repl_function ,并用匹配的字符串替换该函数返回的结果。如果您想用字典中的特定字符串替换匹配的对象,您可以简单地使用一个函数来处理:

def repl_func(matched_obj):
my_dict = {'NAME':'rep1', '\n':'rep2'}
try:
match = matched_obj.group(0)
except AttributeError:
matched = ''
# Or raise an exception
else:
return my_dict.get(match, '')

re.sub(regex, repl_func, content)

关于python - 指示 re.sub 方法中的替换的函数 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36507840/

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