2012-08-11 50 views
0

我正在使用預處理器,並且有一段代碼需要獲得匹配。正則表達式匹配和分組結果

示例輸入:

padding: eval((20%/2)+5)) eval(30); 
width: eval(100%/2); 
font-family: font-find("Helvetica"); 

我需要匹配和組所提供的串比賽基。 預期輸出應爲:

[0] = eval((20%/2)+5) 
[1] = eval(30) 
[2] = eval(100%/2) 
[3] = font-find("Helvetica") 

項的括號內的內容可以是任何值。 很容易匹配輸出2 - 3的項目,但我無法將0和1的值分組。

我正在使用PHP編寫代碼。 「eval」和「font-find」是任意函數。

這甚至可能嗎?

+0

可能要接近這個法子:http://stackoverflow.com/questions/133601/can-regular-expressions-be-used-to-match-nested-patterns – rjz 2012-08-11 04:34:15

回答

1
preg_match_all('/(\w+\(\S*\))/', $str, $matches); 
+0

作品精彩!謝謝你。 – 2012-08-11 07:00:55

+0

對於帶連字符的名稱,\ w +應該是[\ w - ] + – 0x141E 2012-08-11 07:01:20