PHP:preg_match - “分隔符不能是字母数字或反斜杠”

时间:2012-03-07 13:23:32

标签: php regex

有谁知道这个正则表达式有什么问题?它在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);

2 个答案:

答案 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);