我想使用Ptython中的RegEx匹配提取線性方程的LHS和RHS。Python正則表達式匹配異常
exp="+1-3=x+2";
parts = re.search("(.*?)=(.*?)", exp);
left = parts.group(1);
right = parts.group(2);
雖然left
值被正確地捕獲的right
值爲空。
有什麼我做錯了嗎?不用說我對Python很陌生。
謝謝。
我想使用Ptython中的RegEx匹配提取線性方程的LHS和RHS。Python正則表達式匹配異常
exp="+1-3=x+2";
parts = re.search("(.*?)=(.*?)", exp);
left = parts.group(1);
right = parts.group(2);
雖然left
值被正確地捕獲的right
值爲空。
有什麼我做錯了嗎?不用說我對Python很陌生。
謝謝。
使右手邊貪婪通過移除問號:
parts = re.search("(.*?)=(.*)", exp);
否則匹配=
後立即停止。
或者,使用$
來錨定到字符串的末尾。
最後,值得注意的是,你實際上並不需要在這裏正則表達式:
left, _, right = exp.partition('=')
是否必須是正則表達式?怎麼樣'left,right = exp.split('=')'? – georg 2013-03-21 23:36:29
我知道字符串操作方法。我試圖在Python中練習RegEx,所以只想用RegEx來完成。 – mihsathe 2013-03-22 01:38:30