2012-03-07 81 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); 
相关问题