仅在后面有数字的情况下替换x

时间:2019-07-14 17:00:45

标签: python regex

我在python中有此程序可以求解方程式,但只能使用“ 3 * x”,不能使用“ 3x”。因此,我希望正则表达式仅在前面有数字的情况下才用“ * x”替换“ x”。

曾考虑过使用re.sub(),但不知道如果仅在前面有数字的情况下才应替换x,则正则表达式应该是什么。

所以我想让“ 2x + 8 = 3x + x”变成“ 2 * x + 8 = 3 * x + x”

感谢您的意见:)

1 个答案:

答案 0 :(得分:1)

我猜测您可能想要设计一个类似于以下内容的表达式:

import re

regex = r"(?<=\d)([xyz])"
test_str = ("2x + 8 = 3x + x\n"
    "2x + 8y = 3z + x")

subst = "*\\1"

print(re.sub(regex, subst, test_str))

如果要浏览/简化/修改该表达式,请在this demo的右上角进行解释。