Das Beispiel in diesem Artikel beschreibt das Tutorial zu regulären Ausdrücken zum Abgleichen eines einzelnen Zeichens. Teilen Sie es wie folgt mit allen:
Hinweis: In allen Beispielen sind die Ergebnisse der regulären Ausdrücke zwischen [und] im Quelltext enthalten. Einige Beispiele werden mit Java implementiert Der Einsatz regulärer Ausdrücke in Java selbst wird an den entsprechenden Stellen erläutert. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet.
Java-Testcode:
/** * 根据正则表达式和要匹配的源文本,输出匹配结果 * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceText){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sourceText); while(matcher.find()){ System.out.println(matcher.group()); } }
1. Passender Klartext
Es gibt nur ein passendes Ergebnis
Schauen wir uns zunächst a an einfacher regulärer Ausdruck Die Formel ist heute, obwohl sie selbst Klartext ist, ein regulärer Ausdruck. Schauen wir uns ein Beispiel an:
Quellentext: Gestern ist Geschichte, morgen ist ein Geheimnis, aber heute ist ein Geschenk.
Regulärer Ausdruck: heute
Ergebnis: Gestern ist Geschichte, morgen ist ein Rätsel, aber „heute“ ist ein Geschenk.
Analyse: Der hier verwendete reguläre Ausdruck ist Klartext, der heute im Quelltext übereinstimmt.
Rufen Sie die matchAndPrint-Methode auf und das Ausgabeergebnis ist:
heute
2. Es gibt mehrere übereinstimmende Ergebnisse
Quelltext: Gestern ist Geschichte, Morgen ist ein Rätsel, aber heute ist ein Geschenk.
Regulärer Ausdruck: ist
Ergebnis: Gestern ist Geschichte, morgen ist ein Rätsel, aber „heute“ ist ein Geschenk.
Analyse: Im Quelltext gibt es drei Is, es werden aber vier Is ausgegeben, da auch die Is im Verlauf abgeglichen werden.
ruft die matchAndPrint-Methode auf und das Ausgabeergebnis ist:
is
is
is
is
3. Probleme mit der Groß-/Kleinschreibung
Bei regulären Ausdrücken wird die Groß-/Kleinschreibung beachtet, aber viele Implementierungen regulärer Ausdrücke unterstützen auch Vergleichsvorgänge, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird. Verwenden Sie in JavaScript das i-Flag, um eine Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen. Wenn Sie in Java beim Kompilieren des regulären Ausdrucks die Groß- und Kleinschreibung nicht berücksichtigen möchten, können Sie Folgendes angeben:
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
2. Übereinstimmung mit einem beliebigen Zeichen
Die zuvor gesehenen regulären Ausdrücke sind alle Sie sind statischer Klartext und spiegeln überhaupt nicht die Leistungsfähigkeit regulärer Ausdrücke wider. Als nächstes sehen wir uns an, wie man reguläre Ausdrücke verwendet, um unvorhersehbare Zeichen abzugleichen.
In regulären Ausdrücken werden Sonderzeichen (oder Zeichensammlungen) verwendet, um anzugeben, wonach gesucht werden soll. Das Zeichen . (englischer Statuspunkt) kann mit jedem einzelnen Zeichen übereinstimmen. Entspricht dem ?-Zeichen in DOS und dem _-Zeichen (Unterstrich) in SQL. Beispiel: Der reguläre Ausdruck c.t passt zu cat, cut, cot usw. Schauen wir uns ein Beispiel an.
Text:
orders1.txt
orders2.txt
sales1.txt
salesA.txt
orders3.txt
sales2.txt
sales.txt
Regulärer Ausdruck: sales.
Ergebnis:
orders1.txt
orders2.txt
[sales1].txt
[salesA].txt
orders3.txt
[sales2].txt
【sales.】txt
Analyse: Der reguläre Ausdruck sales findet den Dateinamen, der aus der Zeichenfolge sales und einer anderen Zeichenfolge besteht. Zahlen und sich selbst. 4 von 7 Dateien stimmen mit diesem Muster überein.
Wenn die matchAndPrint-Methode aufgerufen wird, lautet das Ausgabeergebnis:
sales1
salesA
sales2
sales.
3. Passen Sie Sonderzeichen an
Zeichen haben in regulären Ausdrücken eine besondere Bedeutung. Wenn Sie ein . im Muster benötigen, müssen Sie einen Weg finden, dem regulären Ausdruck mitzuteilen, dass Sie das Zeichen selbst und nicht seine spezielle Bedeutung im regulären Ausdruck benötigen. Dazu müssen Sie das Zeichen maskieren, indem Sie es voranstellen. Es ist auch ein Metazeichen (ein Metazeichen, das darauf hinweist, dass dieses Zeichen eine besondere Bedeutung hat und nicht die Bedeutung des Zeichens selbst). Betrachten Sie das folgende Beispiel.
Suchen Sie nach Dateien, die mit „na“ oder „sa“ beginnen, unabhängig davon, welche Zahl darauf folgt.
Text:
sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
Regulärer Ausdruck: .a..txt
Ergebnis:
[sal]es.txt
[na1].txt
[na2].txt
[sa1].txt
[sanatxt].txt
Analyse: Dieser reguläre Ausdruck kombiniert na1.txt und na2.txt , sa1.txt wurde gefunden, aber es wurden auch 2 unerwartete Ergebnisse gefunden. Weil das .-Zeichen im regulären Ausdruck .a..txt mit jedem Zeichen übereinstimmt. Um das .-Zeichen selbst abzugleichen, müssen Sie Escapezeichen verwenden. Das Ändern des regulären Ausdrucks in .a..txt kann unseren Anforderungen gerecht werden.
Hinweis: Wenn Sie Java verwenden, sollte der reguläre Ausdruck .a..txt als .a.\.txt geschrieben werden, da es sich in der Java-Sprache auch um ein Escape-Zeichen handelt.
4. Zusammenfassung
Reguläre Ausdrücke werden oft als Muster bezeichnet. Es handelt sich tatsächlich um Zeichenfolgen, die aus einigen Zeichen bestehen. Diese Zeichen können gewöhnliche Zeichen (Klartext) oder Metazeichen (Sonderzeichen mit besonderer Bedeutung) sein. Hier finden Sie eine Einführung in die Verwendung gewöhnlicher Zeichen und Metazeichen zur Zuordnung von Einheitenzeichen. .kann mit jedem Zeichen übereinstimmen. Wird verwendet, um Zeichen zu maskieren. In regulären Ausdrücken beginnen Zeichenfolgen mit besonderer Bedeutung immer mit einem Zeichen. Im nächsten Artikel schauen wir uns an, wie man Gruppen von Zeichen zuordnet.
Weitere Tutorials zu regulären Ausdrücken zum Abgleichen eines einzelnen Zeichens und verwandte Artikel finden Sie auf der chinesischen PHP-Website!