2013-04-05 69 views
-1

我試圖解析字符串並提取一些值。正則表達式 - 逃脫「

突然,我堅持用的符號在這裏:

下面是一些代碼,來形容我的情況:

// example string 
$string = "@set('var', 'value')"; 

// regex that I'm using to extract the values 
$regex = '@set\((.+),(.+)\)/' 

// result that I'm getting 
array("'var'", "'value'") 

// desired result 
array("var", "value") 

任何想法?

+0

如果您希望這些被轉義,您在顯示轉義值時的做法是什麼? – 2013-04-05 08:11:38

回答

6

您與.+規則匹配任何字符。如果你不想引用結果,請避開它​​們。重寫規則:

$regex = "/@set\('([^']+)',\s*'([^']+)'\)/" 
+0

這不取兩個值之間的空白到acocunt。 – 2013-04-05 08:11:51

+0

更新的規則來解決空白缺失。 – Ander2 2013-04-05 08:12:44

+0

非常感謝您!這個伎倆。你已經救了我一個小時的挫折:) – 2013-04-05 08:18:01