python - 仅在 x 后面有数字时才替换
问题描述
我在python中有这个程序可以解决一个方程,但它只能使用“3 * x”而不是“3x”。因此,如果前面有数字,我希望正则表达式仅将“x”替换为“* x”。
考虑过使用 re.sub() 但不知道正则表达式应该是什么,如果它应该只替换 x 如果前面有一个数字。
所以我想让“2x + 8 = 3x + x”变成“2*x + 8 = 3*x + x”
感谢您的建议:)
解决方案
我猜您可能想要设计一个类似于以下内容的表达式:
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))
如果您想探索/简化/修改它,该表达式将在此演示的右上角面板中进行说明。
推荐阅读
- c# - 需要 D365/CRM 来识别以编程方式创建的 SharePoint 文件夹的 DocumentLocation 记录
- java - JavaFX 项目找不到我的 JDK FX 版本
- angular - Mat-Select 如何去掉小缩放
- azure-data-factory - JSON 数据显示为数组
- video-processing - Typ3 FAL Flexform 视频路径
- java - 在spring data mongo中,如何以一般方式从@Document对象生成更新集对象-或者如何upsert(@Document)?
- python - 如何检查某些代码是否释放了 GIL,所以多线程很有用?
- powershell - PowerShell Read-Host 将输入输出到控制台
- .net - 如何在 publishsinglefile .exe 上下文中查找“内容文件”(使用未知的 TEMP 文件夹)
- python-3.x - 如何对已经分组的栏进行分组?