我创建了一个在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}类型字符串的任何字符串?我意识到上面的正则表达式不会匹配中间的“任何东西”,但我简化了调试表达式。
答案 0 :(得分:4)
/a
部分中的斜杠被解释为表达式的结束分隔符。您可能应该为整个模式使用另一个分隔符,例如:
preg_match("~(\{a\})([a-zA-Z0-9{} .])+(\{/a\})~i",
"{a}{900678}{abcde}{0}{0}{0}{/a}");
<强> See it in action 强>