函数的作用是:添加额外的字符e垃圾字符

2024-06-08 18:06:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在熊猫3中使用re包并尝试re.sub()一个模式。我的代码在下面

import re

test = "xyz/b2117fe1e"
obfuscate_pattern = r'/[^g-z]+[0-9]' 
val1 = re.sub(obfuscate_pattern,'',test)
print(test)
print(val1)

我遇到的问题是,当我运行代码时,在xyx后面会出现一个额外的字母

对于输入xyz/b2117fe1e,结果应该是xyz。但是,我得到的是相同输入的xyze(最后的e是附加的)

我无法诊断问题,您有什么建议


Tags: 代码testimportre字母模式建议pattern
1条回答
网友
1楼 · 发布于 2024-06-08 18:06:15

/[^g-z]+[0-9]将匹配从/开始并包括最后一个数字的任何内容(不在gz之间)。在您的测试用例中,最后一个数字后面有一个字母,因此在您执行替换之后它仍然存在

如果您删除[0-9],您的模式将删除gz之后的任何数字,包括任何数字(因为它们不是g-z

相关问题 更多 >