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