2011-10-26 26 views
3

我创建了一个可在Dreamweaver的正则表达式查找中工作的正则表达式模式,但是当放入preg_match模式时,它失败。我在PHP(5.1.6)正则表达式规则中打破了什么,否则在Dreamweaver的解释中起作用?这里是PHP:PHP中的正则表达式(preg_match)模式

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

当前返回false。我该如何修改该模式,以便它匹配任何以{a}开头的字符串{/ a}类型字符串中的任何字符串?我意识到上面的正则表达式在中间不会匹配'任何',但是我简化了表达式以进行调试。

+0

它不仅返回false,还应返回错误消息。 – mario

回答

4

/a部分的斜杠被解释为表达式的结束分隔符。您可能需要使用其他分隔符为全模式,例如:

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

See it in action