有谁知道这个正则表达式有什么问题?它在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);
答案 0 :(得分:10)
你没有分隔符。将模式包含在/
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 :(得分:1)
您需要delimiters:
preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches);