我有一些输入,包括如下行:
5feet
23m^2
7 m/s
我想把它们重写为:
5 feet
23 m^2
7 m/s
为此,我可以使用:
re.sub(r"([0-9])(?=[a-zA-Z])",r"\1*","5feet")
但是,我的数字看起来像是:
23e-7
58.234e-200
与上述模式匹配。
有没有办法让正则表达式以某种方式匹配第一组,但排除第二组?
答案 0 :(得分:1)
你可以使用否定预测断言(?!...)
(与(?=...)
相反)来排除这种情况:
re.sub(r"([0-9])(?=[a-zA-Z])(?!e[+-]?\d)",r"\1*","5feet")