簡體   English   中英

使用正則表達式獲取數學表達式(單個字母,數字,方程式等)(在python中)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM