[英]Get mathematical expressions (single letters, numbers, equations…) using regex (in python)
我是regex的新手,并且想使用regex匹配字符串中的数学表达式(在我的python程序中)。 对于我(现在)来说,数学表达式是单个字母,数字和方括号之间的表达式。 因此,例如对于给定的句子(=字符串)
“ 令表达式[[f(a)= a + 1]]中的变量a中的f(a)为100。 ”
我想得到类似的东西:
并[f(a)中,100中,f(A)= A + 1]
我设法得到
1,方括号中的表达式使用[[(。*?)]]
2,使用\\ b [0-9a-zA-Z] {1} \\ b和一个字母和数字
3,数字一般用\\ d +
,但不能使用一个正则表达式来获取所有内容。
有人可以提供适当的正则表达式模块帮助,还是以pythonic的方式解决此问题会更好?
这将捕获您的数学表达式,而不管括号的数量(?<=\\[)[^\\[]*?(?=\\])
在这里查看演示regex101
要在python中获得带有数学表达式的列表,可以使用以下代码:
p = re.compile('(?<=\[)[^\[]*?(?=\])')
p.findall('YOUR TEXT HERE')
终于我明白了。 谢谢大家! 你让我今天一整天都感觉很好。
那就是我的正则表达式:
'(?<=[ ][[]{2}).*?(?=[]]{2}[ .!?])|\d+|\b[a-zA-Z0-9{+-}]*\([a-zA-Z0-9{+-}]*\)|\b[a-zA-Z]\b'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.