Heim  >  Artikel  >  Web-Frontend  >  Welche Kategorien gibt es für die Verwendung von Punkten in regulären Ausdrücken?

Welche Kategorien gibt es für die Verwendung von Punkten in regulären Ausdrücken?

php中世界最好的语言
php中世界最好的语言Original
2018-06-09 14:38:011359Durchsuche

Dieses Mal zeige ich Ihnen, welche Kategorien von Punkten in regulären Ausdrücken verwendet werden und welche Vorsichtsmaßnahmen für die Verwendung von Punkten in regulären Ausdrücken gelten. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Wir wissen, dass in regulären Ausdrücken jedes einzelne Zeichen dargestellt werden kann, aber im Quellcode von Unterstrichen und JQuery können wir sehen, dass . in den Codes dieser berühmten Bibliotheken häufig nicht verwendet wird. Um ein beliebiges Zeichen darzustellen, verwenden Sie stattdessen [wW] oder [sS]. Auf den ersten Blick scheint die Bedeutung des Ausdrucks dieselbe zu sein, aber warum nicht die einfache Methode anwenden und weitere Kreise ziehen? Lassen Sie mich heute kurz auf dieses Thema eingehen.

Zuerst müssen wir die Bedeutung von richtig verstehen. Tatsächlich kann es irreführend sein, zu sagen, dass es sich um ein einzelnes Zeichen handelt. Es muss betont werden, dass dieses „jedes einzelne Zeichen“ nicht die Zeichen umfasst, die Zeilenumbrüche steuern, d. h. nicht die Zeichen n r u2028 oder u2029. W und s können diese Zeichen enthalten. Der Unterschied zwischen den beiden Schreibmethoden ist sehr deutlich, nämlich ob sie mit mehreren Newline-Steuerzeichen übereinstimmen können.

Wann müssen wir also diese Newline-Steuerzeichen berücksichtigen? Wenn die zu verarbeitende Zeichenfolge Zeilenumbrüche enthalten darf. Es gibt zu viele solcher Szenarien, die Verarbeitung von HTML-Strings, die Verarbeitung von Vorlagen, das Lesen von Text durch NodeJS usw.

Wenn es um mehrzeilige Textszenarien geht, können wir uns leicht den m-Modus (mehrzeiliger Modus) regulärer Ausdrücke vorstellen. Hat der Multi-Line-Modus also irgendwelche Auswirkungen auf die Themen, die wir heute diskutieren? Ich bin mir nicht sicher. Warum nicht sicher? Manche Leute schwören, dass die Bedeutung von . im Einzelzeilenmodus eine andere ist als im Mehrzeilenmodus. Im Einzelzeilenmodus entspricht es [wW] oder [sS], während es im Mehrzeilenmodus der Zeilenumbruch ist Steuerzeichen sind ausgeschlossen. Aber nach meinen Experimenten und unter Bezugnahme auf MDN ist das falsch. Es stimmt, dass reguläre Ausdrücke in vielen Sprachen die oben genannten Eigenschaften aufweisen, aber ich habe sie in JavaScript nicht gesehen. Ich weiß nicht, ob es Unterschiede bei den Browsern gibt. Welchen Einfluss hat der Mehrzeilenmodus auf JavaScript? Ich denke, es ändert nur die Bedeutung der Symbole ^ und $: Im einzeiligen Modus repräsentieren sie den Anfang und das Ende der gesamten Zeichenfolge; im mehrzeiligen Modus repräsentieren sie den Anfang und das Ende jeder Zeile. Unabhängig vom Mehrzeilenmodus oder Einzelzeilenmodus enthält es meiner Meinung nach keine Newline-Steuerzeichen und entspricht [^nru2028u2029].

Um es noch etwas weiter zu erweitern: In modernen Browsern können Sie [^] direkt verwenden, um ein beliebiges Zeichen zuzuordnen.

Ich möchte das Beispielprogramm nicht schreiben. Wenn Sie interessiert sind, können Sie es selbst ausprobieren. Verwenden Sie /.*/g, /^.*$/g, /.*/gm, /. ^.*$/gm bzw. Übereinstimmung mit „abcnedf“, der Grund liegt auf der Hand.

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:

So verwenden Sie die JS-Ereignisdelegierung in Projekten

Verwenden Sie reguläre Ausdrücke, um die Passwortstärke zu überprüfen (zwei Methoden Code beigefügt)

Das obige ist der detaillierte Inhalt vonWelche Kategorien gibt es für die Verwendung von Punkten in regulären Ausdrücken?. 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