繁体   English   中英

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

[英]Regex in PHP (preg_match) pattern

我创建了一个在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}类型字符串的任何字符串? 我意识到上面的正则表达式不会匹配中间的“任何东西”,但我简化了调试表达式。

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

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

看到它在行动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM