从 latex 多层括号中提取多维字典
在 latex 中,多层括号用于定义嵌套数学表达式。如果您需要将其转换为
python
中的多维字典,可以使用正则表达式。
python 实现
可以使用 re.findall() 函数提取多层括号:
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
上面的代码会创建一个字典,其中键是括号级别(以字符串表示),值是括号内容:
补充
您可以使用 pylatexenc 库来简化 latex 表达式的处理,该库提供了提取多层括号和其他有用的功能。
import re
latex = r"int{rac{{d}x}{sqrt{x}}}
int x^{2}{sqrt[3]{x}}{d}x"
# 提取括号内容
matches = re.findall(r"{(.*?)}", latex)
# 构造多维字典
dict_levels = {}
for i, level in enumerate(matches):
dict_levels[str(i)] = level{'0': '\frac{{d}x}{sqrt{x}}', '1': 'x^{2}{sqrt[3]{x}}'}