Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Analyse übereinstimmender Einzelzeichen mithilfe regulärer Ausdrücke

Detaillierte Analyse übereinstimmender Einzelzeichen mithilfe regulärer Ausdrücke

php中世界最好的语言
php中世界最好的语言Original
2018-03-30 10:09:182323Durchsuche

Dieses Mal werde ich Ihnen eine detaillierte Analyse der Verwendung regulärer Ausdrücke zum Abgleichen eines einzelnen Zeichens geben ein Blick. Das Beispiel in diesem Artikel beschreibt das Tutorial zum

regulären Ausdruck

zum Abgleichen eines einzelnen Zeichens. Geben Sie es wie folgt als Referenz an alle weiter:

Hinweis: In allen Beispielen sind die Ergebnisse der regulären Ausdrucksübereinstimmung im Quelltext

[ und ], einige Beispiele werden mit Java implementiert. Wenn es sich um die Verwendung regulärer Ausdrücke in Java selbst handelt, wird dies an der entsprechenden Stelle erläutert. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet. Java-Testcode:

1. Übereinstimmung mit reinem Text
/**
 * 根据正则表达式和要匹配的源文本,输出匹配结果
 * @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 Ergebnis

Schauen wir uns zunächst einen einfachen regulären Ausdruck an. Obwohl es sich heute um einfachen Text handelt, handelt es sich heute um einen regulären 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. was heute im Quelltext übereinstimmt.

ruft die matchAndPrint-Methode auf und das Ausgabeergebnis ist:

heute

2. Es gibt mehrere übereinstimmende Ergebnisse

Quellentext: Gestern ist Geschichte, morgen ist ein Geheimnis, 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 ist, aber vier sind ausgegeben, weil die Geschichte in ist, wird auch abgeglichen.

ruft die matchAndPrint-Methode auf und das Ausgabeergebnis ist:

is

is

ist

ist

3. Groß-/Kleinschreibungproblem

Das Normale Ausdruck ist Bei Buchstaben wird die Groß-/Kleinschreibung beachtet, aber viele Implementierungen regulärer Ausdrücke unterstützen auch Vergleichsoperationen, 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 die Groß-/Kleinschreibung nicht berücksichtigen möchten, können Sie beim Kompilieren des regulären Ausdrucks Folgendes angeben:

2. Entspricht einem beliebigen Zeichen
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

Die regulären Ausdrücke, die wir zuvor gesehen haben, sind alle 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 wird das

Sonderzeichen

(oder eine Sammlung von Zeichen) 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 kombiniert die Zeichenfolge sales und Finden Sie den Dateinamen Aus den Ergebnissen können wir ersehen, dass Buchstaben, Zahlen und sich selbst übereinstimmen können. 4 von 7 Dateien stimmen mit diesem Muster überein.

Wenn die matchAndPrint-Methode aufgerufen wird, lautet das Ausgabeergebnis:

sales1

salesA

Verkäufe2

Verkäufe.

3. Passen Sie Sonderzeichen an

Zeichen haben besondere Eigenschaften Bedeutung regulärer Ausdrücke. 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 hat na1.txt, na2.txt und sa1.txt gefunden, aber auch zwei 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. Sie sind eigentlich 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.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Verwendung von PHP und JS zur Implementierung des regelmäßigen Passwortabgleichs von Zahlen und Buchstaben

Regulär in JQ Verify dass die Methode kein Chinesisch enthalten darf

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse übereinstimmender Einzelzeichen mithilfe regulärer Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn