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


PHP: preg_match - "Delimiter must not be alphanumeric or backslash"

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