“&”在PCRE中表示什么?

时间:2012-01-20 22:14:01

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

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

&在PCRE中的含义是什么?

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

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

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

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

2 个答案:

答案 0 :(得分:3)

它没有任何特殊含义。

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

答案 1 :(得分:-1)

^ =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的中间