有人知道这个正则表达式出了什么问题吗?它在RegexPal和RegExr这样的网站上运行良好,但在PHP中它给了我这个警告,没有结果:
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);
您没有分隔符。将图案封装在/
中
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);
您需要分隔符:
preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches);