preg匹配模式开头的所有静态字符串

时间:2013-04-05 20:05:21

标签: php regex preg-match-all

我在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\}\}#

我对正则表达式相当新,所以我知道它可能很简单。有人有什么想法?提前谢谢。

1 个答案:

答案 0 :(得分:3)

+表示“一次或多次重复”。

“零次或多次重复”需要*

preg_match_all('#\{\{beginning_of_string(.*?)\}\}#', $content, $string)