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

How to create a regex that looks for a word in any combination?

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

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

但是,如果我没有想到一个组合怎么办,我该如何编写一个正则表达式来执行此操作?

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

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

你可以试试这个:

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

我会用它作为正则表达式

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

支持大小写任意组合。

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

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