如何为preg_match()更改此正则表达式

时间:2012-04-07 06:06:40

标签: php

我正在执行以下正则表达式

$patt="(BEGIN:|END:)[[:blank:]]*([0-9a-zA-Z\_]+)[[:blank:]]*-->(.*)"
if (preg_match($patt,$v,$res))

并且它给出了以下错误

Warning: preg_match() [function.preg-match]: Unknown modifier '['

它正常运行

if (eregi($patt,$v,$res))

2 个答案:

答案 0 :(得分:0)

您需要添加正则表达式分隔符,例如:

if (preg_match('#'.$patt.'#',$v,$res))

答案 1 :(得分:0)

preg_*函数族要求您将模式编写为/pattern/,其中/可以是任何其他“非字母数字,非反斜杠,非空白”字符,例如为#pattern#!pattern!

http://us.php.net/manual/en/regexp.reference.delimiters.php