2016-08-07 29 views
3

Ich bin neugierig zu wissen, wie man eine Regex schreibt, um das folgende zu ersetzen, das ich verwende, um .htaccess meine Seiten-URLs zu verwalten. Der Punkt des Regex ist ein beliebige Kombination von Buchstaben zu erkennen, ob sie groß oder klein geschrieben sind, so dass ich muß wie das folgende Beispiel für jede Kombination nicht denken ....Wie erstelle ich eine Regex, die in beliebiger Kombination nach einem Wort sucht?

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

Doch was ist, wenn ich Denken Sie nicht an eine Kombination, wie kann ich eine Regex schreiben, die das tut?

Bisher ist die nächste, die ich gekommen ist ...

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

Antwort

3

Anstatt eine komplizierte Regex ich NC (kein Fall) Flagge schlage vor, mit zu Ihrer Regel Fall ignorieren zu machen:

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

Sie konnten dieses versuchen:

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

Warum Sie Ihre Bindestriche entkommen? Sie sind nicht in einer Zeichenklasse. –

+0

@HappyGreenKidNaps Korrigiert, danke. –

2

ich dies als regex

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

Es unterstützt verwenden würden, eine beliebige Kombination aus Klein- und Großbuchstaben.