我将在PHP中使用以下字符串进行preg匹配:
{{beginning_of_string|:|optional_param|:|http_link}}
{{beginning_of_string|:|optional_param|:|text}}
{{beginning_of_string}}
这三种可能性可以出现在整个字符串中,也可以只出现一次。以下是目前为止我的正则表达式:
preg_match_all('#'{'{beginning_of_string(.+?)'}'}#', $content, $string)
到目前为止,这只匹配字符串的前两次出现,而不是最后一次。这个正则表达式只匹配最后一次出现:
#'{'{beginning_of_string'}'}#
我是相当新的正则表达式,所以我知道它可能是简单的东西。有人有什么想法吗?
+
表示"一次或多次重复"。
你需要*
为"零或更多的重复":
preg_match_all('#'{'{beginning_of_string(.*?)'}'}#', $content, $string)