我在熊猫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
的结果应为xyz/b2117fe1e
。但是,对于相同的输入xyze
,我得到的是e
(最后一个xyz/b2117fe1e
是附加的)。
我无法诊断问题,您有何建议?
答案 0 :(得分:0)
/[^g-z]+[0-9]
将匹配g
之后并包括最后一位z和/
之间) >。在您的测试用例中,您有一个跟在最后一位数字的字母 ,因此在执行替换后该字母仍然保留。
如果您删除[0-9]
,则您的模式将删除g
之后z
和/
之间的所有内容,包括数字(因为它们不是't g-z
)