2013-02-07 38 views
0

我想構建一個正則表達式,它將提取僞xml標籤({}中的封裝而不是<>)的值,並且它不起作用。已經用RegexBuddy驗證了這件事,我最喜歡的rx工具捕獲的是非常正確的,但是在我的PHP代碼中使用它時,我沒有得到結果。 因此,W/O閒話少說,下面的問題:我的正則表達式中的錯誤在哪裏?

$match=array(); 
$ret=preg_match('\{lang\s*=\s*[\"\']*?(.*?)[\"\']*?\s*/\}',"{lang='DE'/}xxxxlxlxlxl",$match); 

爲什麼$匹配空?

回答

1

上的圖案應該

/\{lang\s*=\s*[\"\']*?(.*?)[\"\']*?\s*\/\}/ 
^          ^
+0

你忘了逃跑接近尾聲斜槓(由於使用/作爲分隔符,這就是爲什麼我通常採取類似〜) – Flo

+0

@Flo hmm..i不要」 t知道php ..我已經通過PHP文檔,我發現'/'用作分隔符..感謝指出 – Anirudha

+0

Ooooooo,錯過了:(非常感謝! – MBaas