gpt4 book ai didi

python - 像python中的正则表达式一样替换ACD|BCD

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:25 24 4
gpt4 key购买 nike

A、B、C 和 D 代表正则表达式的不同部分。

我要达到的效果:输入字符串为 ACD 或 BCD。用E替换C后,输出应该是AED或BED。

我使用的正则表达式:

r=(A)C(D)|(B)C(D)

但是,当我进行替换时,问题出现了。如果我使用 r.sub(r'\1s0\2',inputstring) 那么当输入是 BCD 时会出现不匹配组错误。如果我使用 r.sub(r'\3s0\4',inputstring) 那么当输入是 ACD 时会出现不匹配组错误。

那么我该如何编辑正则表达式来避免这种情况呢?

最佳答案

使用 (A|B)C(D) 代替 (A)C(D)|(B)C(D):

import re
r = re.compile(r'(A|B)C(D)')
r.sub(r'\1E\2', 'ACD') # 'AED'
r.sub(r'\1E\2', 'BCD') # 'BED'

关于python - 像python中的正则表达式一样替换ACD|BCD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22278235/

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