Python 爬虫sub函数小问题

import re
secret_code = "adxxlovexxsdfk"

i = re.sub('dxx(.*?)xx','hate',secret_code)
print(i)

这段代码运行输出adxxhatexxsdfk,,我想只输出hate怎么做?

2个回答

这个函数就是用来替换的吧,把你指定的部分用后面的参数代替,如果只要hate的话,那你用这个函数还有什么意义吗

qq_23660243
爱国者002 不是的,他的逻辑是把(.*?)替换成你后面的hate,然后把替换后的数据返回,指的是替换后的所有数据
大约 3 年之前 回复
baidu_33386573
黑冰561 就是把(.*?)里替换成hate,,然后不是应该只输出括号里的内容也就是hate 嘛?
大约 3 年之前 回复

secret_code = "I love cat,I don't love mouse"
i = re.sub('love', 'hate', secret_code)
print(i)

结果为:
I hate cat,I don't hate mouse
这结果就应该很明显了,如果按照你的思路,就应该返回hate,但是其实他是把字符串内所有的love都匹配到,然后提换成hate,最终返回整个字符串。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!