我想替换字符串某部分之间的数字
例如:.
f = "abc 123 def 23435 kill x22 y2986"
我想用 # 替换 def 和 y 之间的所有数字
试过用下面的表达式,没用
exp = re.sub(r"(?<=def)\d+(?=y)", "#", f)
预期输出:
abc 123 def ##### kill x## y2986
请您参考如下方法:
嗯,我认为乍一看似乎很难用正则表达式来做到这一点,但有一种方法可以通过在多个级别(在本例中为 2 个级别)应用正则表达式来做到这一点。这是一个例子:
>>> f = "abc 123 def 23435 kill x22 y2986"
>>> import re
>>> exp = re.sub(r"(?<=def)(.*)(?=y)", lambda x:re.sub(r"\d", '#', x.group()), f)
>>> exp
'abc 123 def ##### kill x## y2986'
>>>
