【发布时间】:2014-02-24 22:49:21
【问题描述】:
寻找preg_match_all 的正则表达式,它可以检测封装在文本正文中的 % 中的变量,如下所示:
Lorem ipsum dolor sit amet,consectetur adipisicing
%variable1%,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip%variable2%ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。 Exceptioneur sint occaecat cupidatat non proident, sunt in culpa%variable3%qui officia deserunt mollit anim id est laborum。
其中要检测的变量被封装在 % 符号中。变量可以包括小写字母 (a-z)、数字 (0-9) 和连字符 (-)。我想在数组中返回 % 符号中的变量名称,如下所示,但无法匹配。
Array (
[0] => 'variable1',
[1] => 'variable2',
[3] => 'variable3'
}
有什么建议吗?
【问题讨论】:
-
尝试
/%(.+?)%/,然后进行优化。 -
~%([^%]+)%~更明确
标签: php regex preg-match-all