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

Posted

技术标签:

【中文标题】如何创建一个以任意组合查找单词的正则表达式?【英文标题】:How to create a regex that looks for a word in any combination? 【发布时间】:2016-12-13 15:58:04 【问题描述】:

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

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

但是,如果我没有想到一个组合怎么办,我该如何编写一个这样做的正则表达式?

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我会用这个作为正则表达式

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

支持大小写任意组合。

【讨论】:

【参考方案3】:

你可以试试这个:

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

【讨论】:

你为什么要逃避你的炒作?它们不在字符类中。

以上是关于如何创建一个以任意组合查找单词的正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章

带有字母、数字、任意顺序的可选特殊字符的正则表达式单词

正则表达式总结

正则表达式将文本查找为整个单词

正则表达式如何匹配空值?

如何使用正则表达式匹配不以某些字符开头或结尾的单词?

book_精通正则表达式