我在python中有此程序可以求解方程式,但只能使用“ 3 * x”,不能使用“ 3x”。因此,我希望正则表达式仅在前面有数字的情况下才用“ * x”替换“ x”。
曾考虑过使用re.sub(),但不知道如果仅在前面有数字的情况下才应替换x,则正则表达式应该是什么。
所以我想让“ 2x + 8 = 3x + x”变成“ 2 * x + 8 = 3 * x + x”
感谢您的意见:)
答案 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的右上角进行解释。