【问题标题】:WordPress Rewrite regex: what does the trailing ? mean?WordPress重写正则表达式:尾随是什么?意思是?
【发布时间】:2014-05-11 05:46:01
【问题描述】:

在 WordPress 重写中,我经常看到这样的例子:

$wp_rewrite->add_rewrite_tag('%issue_project%', '(.+?/)?', 'issue_project=');

它在正则表达式的末尾有一个? 标记。有些没有。有什么区别?

【问题讨论】:

    标签: regex wordpress url-rewriting


    【解决方案1】:

    这意味着一个懒惰而不是一个贪婪的正则表达式。看这里。

    What do lazy and greedy mean in the context of regular expressions?

    .+ 表示一个或多个字符 -- 任何字符

    .+/ 表示以找到的最后一个/ 结尾的一个或多个字符。所以给定abc/def/gh/ .+ 匹配abc/def/gh

    .+?/ 表示匹配最短序列的一个或多个字符,而不是最长的。所以给定abc/def/gh/ .+ 匹配abc

    括号表达式后面的(whatever)? 尾随? 使该表达式可选。 (whatever)?(whatever){0,1} 的意思相同,即接受(whatever) 的0 次或1 次重复。

    【讨论】:

    • 但是(.+?/)? 是什么意思?
    猜你喜欢
    • 2011-06-25
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多