2012-03-07 88 views
3

有誰知道這個正則表達式有什麼問題嗎?它工作正常,像RegexPal和RegExr網站,但在PHP它給了我這個警告也沒有結果:PHP:preg_match - 「分隔符不能是字母數字或反斜槓」

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash 

這裏是我的代碼:

preg_match('name="dsh" id="dsh" value="(.*?)"', 'name="dsh" id="dsh" value="123"', $matches); 
+1

HTML +的Regex = hsz 2012-03-07 13:24:41

回答

9

您沒有分隔符。包圍圖案/

preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches); 

對於圖案包括/自己,可取的是使用不同的定界符等~#避免逃逸:

// Delimited with # instead of/
preg_match('#name="dsh" id="dsh" value="(.*?)"#', 'name="dsh" id="dsh" value="123"', $matches); 
1

您需要delimiters

preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches);