Heim  >  Artikel  >  Backend-Entwicklung  >  Zeichencluster für reguläre Ausdrücke (2)

Zeichencluster für reguläre Ausdrücke (2)

巴扎黑
巴扎黑Original
2017-04-20 18:04:361441Durchsuche

Duplikate identifizieren

Sie wissen bereits, wie man einen Buchstaben oder eine Zahl zuordnet, aber in den meisten Fällen möchten Sie möglicherweise ein Wort oder eine Zahlengruppe zuordnen. Ein Wort besteht aus mehreren Buchstaben und eine Zahlengruppe aus mehreren Singularzahlen. Die geschweiften Klammern ({}) nach einem Zeichen oder Zeichencluster werden verwendet, um zu bestimmen, wie oft der vorhergehende Inhalt wiederholt wird.

Zeichenclusterbedeutung

^[a-zA-Z_]$ Alle Buchstaben und Unterstriche

^[[:alpha:]]{ 3 }$ Alle 3-Buchstaben-Wörter

^a$ Buchstabe a

^a{4}$ aaaa

^a{2,4}$ aa, aaa oder aaaa

^a{1,3}$ a,aa oder aaa

^a{2,}$ Eine Zeichenfolge, die mehr als zwei a enthält

^a{2, } Zum Beispiel: aardvark und aaab, aber nicht apple

a{2,} Zum Beispiel: baad und aaa, aber nicht Nantucket

t{2} Zwei Tabulatorzeichen

.{2} Alle zwei Zeichen

Diese Beispiele beschreiben drei verschiedene Verwendungen von geschweiften Klammern. Eine Zahl, {x} bedeutet „das vorhergehende Zeichen oder Zeichencluster erscheint nur x-mal“; eine Zahl plus ein Komma, {x,} bedeutet „der vorhergehende Inhalt erscheint x-mal oder öfter“; ,y} bedeutet „der vorherige Inhalt erscheint mindestens x-mal, jedoch nicht öfter als y-mal“. Wir können das Muster auf weitere Wörter oder Zahlen erweitern:

^[a-zA-Z0-9_]{1,}$ //Alle Zeichenfolgen, die mehr als einen Buchstaben, eine Zahl oder einen Unterstrich enthalten

^[0-9]{1,}$ //Alle positiven Zahlen

^-{0,1}[0-9]{1,}$ //Alle ganzen Zahlen

^-{0,1}[0-9]{0,}.{0,1}[0-9]{0,}$ //Alle Dezimalstellen

Schließlich ist ein Beispiel nicht leicht zu verstehen , oder? Betrachten Sie es so: Alles beginnt mit einem optionalen negativen Vorzeichen (-{0,1}) (^), gefolgt von 0 oder mehr Ziffern ([0-9]{0,}) und einem optionalen A-Dezimalpunkt (.{0,1}), gefolgt von 0 oder mehr Ziffern ([0-9]{0,}) und nichts anderem ($). Im Folgenden erfahren Sie, welche einfacheren Methoden Sie verwenden können.

Das Sonderzeichen „?“ ist gleich {0,1}, beide stehen für: „0 oder 1 vorheriger Inhalt“ oder „der vorherige Inhalt ist optional“. Das aktuelle Beispiel kann also wie folgt vereinfacht werden:

  ^-?[0-9]{0,}.?[0-9]{0,}$

  Die Sonderzeichen „ *“ und {0,} gleich sind, repräsentieren beide „0 oder mehr vorherige Inhalte“. Schließlich ist das Zeichen „+“ gleich {1,}, was „ein oder mehrere vorherige Inhalte“ bedeutet, sodass die obigen 4 Beispiele wie folgt geschrieben werden können:

^[a-zA-Z0- 9_ ]+$ //Alle Zeichenfolgen, die mehr als einen Buchstaben, eine Zahl oder einen Unterstrich enthalten

^[0-9]+$ //Alle positiven Zahlen

^-?[0 -9]+ $ //Alle ganzen Zahlen

^-?[0-9]*.?[0-9]*$ //Alle Dezimalzahlen

Das bedeutet natürlich nicht, dass die Komplexität technisch reduziert wird von regulären Ausdrücken, erleichtert aber deren Lesbarkeit.

Das obige ist der detaillierte Inhalt vonZeichencluster für reguläre Ausdrücke (2). 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