【问题标题】:preg match all with static string at beginning of patternpreg 在模式的开头使用静态字符串匹配所有内容
【发布时间】:2013-04-05 20:05:20
【问题描述】:

我正在用以下字符串在 PHP 中进行预匹配:

{{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\}\}#

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

【问题讨论】:

    标签: php regex preg-match-all


    【解决方案1】:

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

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

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

    【讨论】:

    • 哈哈哈我就知道了!谢谢蒂姆。
    猜你喜欢
    • 2018-05-07
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多