2010-10-03 15 views
5

Ich schrieb einige RegExp pattren wie folgt aus:Spiel Großbuchstaben und Kleinbuchstaben von RegExp

SomeText 

Aber ich will die pattren mit zum Spiel:

Sometext 
sOMeTeXt 
SOMETEXT 
SoMEteXt 

Somethings wie das!

In der Tat möchte ich nutzen

\s?[^a-zA-Z0-9\_]SomeText[^a-zA-Z0-9\_] 

was soll ich tun?

+1

Welche Implementierung von Sprache/regulärem Ausdruck verwenden Sie? – Gumbo

Antwort

5

In vielen Regex-Implementierungen Sie modifiers angeben, die zu einem bestimmten Teil Ihres Muster anwenden. Case-Unempfindlichkeit ist einer dieser Modifikatoren:

\s?[^a-zA-Z0-9\_](?i)sometext(?-i)[^a-zA-Z0-9\_] 

Der Abschnitt zwischen (?i) und (?-i) wird in Groß- und Kleinschreibung-Modus versetzt werden. Gemäß this comparison table wird dies unterstützt, wenn Sie .net, Java, Perl, PCRE, Ruby oder die JGsoft-Engine verwenden.

Natürlich, da Sie beide a-z und A-Z in Ihrem Charakter-Klassen sind die Angabe, könnten Sie die Groß- und Kleinschreibung Modifikator auf das gesamte Muster vereinfachen und verwenden:

/\s?[^a-z0-9\_]sometext[^a-z0-9\_]/i 
+0

Erstaunlich .. Vielen Dank –

7

Verwendung ignorieren Fall Modifikator

/sometext/i 
+0

Danke .. Diese Antwort funktioniert nicht für mich –

7

Falls Sie nicht Modifikatoren verwenden können:

[Ss][Oo][Mm][Ee][Tt][Ee][Xx][Tt] 
+0

Gute Idee. Danke –

0

Javascript: Arbeitet sowohl Groß- und Klein Brief in beliebiger Reihenfolge.

value.match(new RegExp(searchkey, "i")) 
Verwandte Themen