gpt4 book ai didi

python - 在正则表达式中使用 sub() 方法时如何避免突变?

转载 作者:行者123 更新时间:2023-12-01 00:14:21 26 4
gpt4 key购买 nike

namesRegex = re.compile(r"Agent \w+") 
namesRegex.sub('CENSORED', 'Agent Alice gave the secret documents to Agent Bob.')

当我这样做时,它不仅改变了 Agent,还改变了 Alice 和 Bob。我的意思是它又改变了一个词。我试图理解这一点,例如,当我只想改变爱丽丝时,它也会改变“give”。我怎样才能只改变正则表达式中的一个单词?

还有一个问题,我们这样写 re.compile(r".* etc")但即使我们不写“r”,就像 r.compile(".* etc") 一样,它也会做同样的事情。那为什么我们要在那里写r字母呢?

最佳答案

您可以制作'Agent '相反,正向回顾模式的一部分,因此 re.sub仅匹配代理的姓名,因此仅将代理的名称替换为 'CENSORED' :

namesRegex = re.compile(r"(?<=Agent )\w+") 

关于python - 在正则表达式中使用 sub() 方法时如何避免突变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59421570/

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