【问题标题】:What does `&` signify in PCRE?`&` 在 PCRE 中表示什么?
【发布时间】:2012-02-15 10:32:47
【问题描述】:

尝试在PCRE Documentation 中搜索。找不到任何东西。

& 在 PCRE 中表示什么?

在这样的表达式中看到了它的用法:

(^|&)p=(about_us|contact)(&|$) [NC]

在这个问题中:RewriteCond %{REQUEST_URI} : how to stop, if REQUEST_URI contains ?p=about or ?p=contact

我知道^$| 的含义。以及分组。

【问题讨论】:

  • 它没有任何特殊含义。你能粘贴完整的表达式吗?
  • & 只是一个将被匹配的常规字符。
  • @BoltClock 已经发布了完整的表达方式。

标签: regex .htaccess mod-rewrite url-rewriting pcre


【解决方案1】:

它没有任何特殊含义。

我想这个表达式只是试图匹配查询字符串的开头或结尾,或者查询字符串两端的文字 & 字符。请记住,& 通常用于分隔查询字符串参数。

【讨论】:

    【解决方案2】:
    ^ =the start of the phrase
    $ = the end of the word
    | = or operator (ab|bc) will accept both ab and bc
    & doesnt have special meaning
    

    分组用于以后使用值(而不是仅检查字符串是否匹配) use 可以使用括号中的匹配项。

    RewriteRule ^(.*)$ index.php?r=$1
    

    这将获取正在访问的文件并将其作为参数 r 传递给 index.php 文件

    您粘贴的短语正在寻找 4 种不同的情况。 1. p=... [作为整个 qs] 2. qs 以 p=...& 开头,但也包含其他参数 3. &p=... - p 是最后一个参数 4. &p=...& - p在qs的中间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 2014-12-17
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多