2024-05-15 14:22:49 发布
网友
这就是我所尝试的:
(.)(?=.*\1)
这将删除所有重复的实例,并只保留最后一个实例,即
远程登录->;lnet
我想要这个结果:
telnet->;电话
我该怎么做?我试着向后看,但据我所知,那只接受一个固定的长度。你知道吗
需要找个正则表达式。我知道没有regex可以实现这一点的其他方法
一点“黑客”是。。。在向前看之前和之后反转字符串
import re expr = r'telnetrer'[::-1] pr = re.sub(r'(.)(?=.*\1)', r'', expr)[::-1] print(pr)
输出
>>> telnr
纯正则表达式解决方案不是有可能。你呢但可以尝试使用回调函数。你知道吗
z=[] def fun(matchobj): if matchobj.group(1) in z or matchobj.group(2) in z: return '' else: if matchobj.group(1): z.append(matchobj.group(1)) else: z.append(matchobj.group(2)) return z[-1] x="telnet" print re.sub(r"(.)(?=.*\1)|(.)", fun, x)
一点“黑客”是。。。在向前看之前和之后反转字符串
输出
纯正则表达式解决方案不是有可能。你呢但可以尝试使用回调函数。你知道吗
相关问题 更多 >
编程相关推荐