如何创建一个在任何组合中查找单词的正则表达式?

时间:2016-08-07 23:59:23

标签: regex apache .htaccess url combinations

我很想知道如何编写正则表达式来替换我用于.htaccess管理我的页面网址的以下内容。正则表达式的目的是识别字母的任何组合,无论它们是大写还是小写,这样我就不必像下面的例子一样考虑每个组合....

RewriteRule ^(about-us|About-Us|About-us|ABOUT-US)$ about-us.php [L]

但是,如果我不想一个组合,我怎么能写一个这样做的正则表达式呢?

到目前为止,我最接近的是......

^([about\-us|ABOUT\-US])$ about-us.php [L]

3 个答案:

答案 0 :(得分:3)

我建议使用NC(无大小写)标记来使规则忽略大小写,而不是使用复杂的正则表达式:

RewriteRule ^about-us/?$ about-us.php [L,NC]

答案 1 :(得分:2)

你可以试试这个:

^([aA]bout-[uU]s|ABOUT-US)$ about-us.php [L]

答案 2 :(得分:2)

我会用它作为正则表达式

^[aA][bB][oO][uU][tT]\-[uU][sS]$

它支持小写和大写的任意组合。