我試圖將數學表達式分解成幾塊,我試圖用正則表達式/\([^)]+\)/
來做詭計(found here)。但是讀取的回答,我明白,這個表達式將搜索第一個右括號)完成,給我的麻煩操作時,例如:用於分解多項式表達式的正則表達式
(2*x^2 + 5*x - (2*x - 3)^(1/2))/(1 + x)
^ ^ ^
START IGNORE FINISH
因爲我不是來了真的很好與正則表達式,我想知道我是否應該與strpos
,substr
和str_replace
處理此問題,還是有一個不同的正則表達式適用於preg_match_all並得到正確的括號集?
注:此函數將遞歸以解決內括號。
編輯:
我在這種情況下,預計產量:
$array = null;
$expression = '(2*x^2 + 5*x - (2*x - 3)^(1/2))/(1 + x)';
$expression = str_replace(' ', '', $expression);
preg_match_all('MAGIC EXPRESSION HERE', , $array);
print_r($array);
// Output
array(
[0] => (2*x^2+5*x-(2*x-3)^(1/2))
[1] => (1+x)
)
感謝。
您的預期產出是? – 2014-10-03 15:41:29
@AvinashRaj我發誓我看到你在每個正則表達式相關的問題,哈哈 – 2014-10-03 15:41:50
我在主要文本添加預期的輸出。 – 2014-10-03 15:45:02