PHP中的正则表达式(preg_match)模式

时间:2011-10-26 23:22:56

标签: php regex dreamweaver

我创建了一个在Dreamweaver的正则表达式中运行的正则表达式模式,但是当它被放入preg_match模式时,它会失败。我在PHP(5.1.6)正则表达式规则中打破了什么,否则在Dreamweaver的解释中有效?这是PHP:

preg_match("/(\{a\})([a-zA-Z0-9{} .])+(\{/a\})/i", "{a}{900678}{abcde}{0}{0}{0}{/a}");

目前返回false。如何修改模式以使其匹配以{a}开头的任何字符串匹配中间{/ a}类型字符串的任何字符串?我意识到上面的正则表达式不会匹配中间的“任何东西”,但我简化了调试表达式。

1 个答案:

答案 0 :(得分:4)

/a部分中的斜杠被解释为表达式的结束分隔符。您可能应该为整个模式使用另一个分隔符,例如:

preg_match("~(\{a\})([a-zA-Z0-9{} .])+(\{/a\})~i",
           "{a}{900678}{abcde}{0}{0}{0}{/a}");

<强> See it in action