Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Grafik- und Texterklärung zur Verwendung des regulären Mehrzeilenmodus und des Einzelzeilenmodus

Detaillierte Grafik- und Texterklärung zur Verwendung des regulären Mehrzeilenmodus und des Einzelzeilenmodus

php中世界最好的语言
php中世界最好的语言Original
2018-03-29 16:14:022059Durchsuche

Dieses Mal werde ich Ihnen ausführliche grafische und textliche Erläuterungen zur Verwendung des regulären Mehrzeilenmodus und des Einzelzeilenmodus geben. Was sind die Vorsichtsmaßnahmen, wenn Sie den regulären Mehrzeilenmodus und den Einzelzeilenmodus verwenden? Das Folgende ist ein praktischer Fall.

Testen Sie in Expresso den „Mehrzeilenmodus“

Test 1

Hinweis: Hier ist ein Beispiel Nach 3eeeeee im Text gibt es keinen Wagenrücklauf und der Cursor befindet sich direkt nach e. Das passende Ergebnis ist 3eeeee, wie oben im Bereich „Suchergebnisse“ angezeigt.

Warum können 1abcde und 2abc hier nicht übereinstimmen?

Mehrzeiligen Modus aktivieren

^ kann mit dem Anfang der Zeichenfolge (der Startposition der Zeichenfolge) oder dem Anfang von übereinstimmen die Zeile (d. h. die Position nach dem Zeilenumbruchzeichen n)
$ kann mit dem Ende der Zeichenfolge (der Endposition der Zeichenfolge) oder dem Ende der Zeile (d. h. der Position vor dem Zeilenumbruchzeichen n) übereinstimmen

Mehrere schließen Das Linienmuster

^ kann nur mit dem Anfang der Zeichenfolge
$ und nur mit dem Ende der Zeichenfolge

Wissenspunkte: r ist das Wagenrücklaufzeichen und n ist das Zeilenvorschubzeichen. Was wir in Windows normalerweise als Zeilenvorschub bezeichnen, ist im Wesentlichen zuerst ein Wagenrücklauf und dann ein Zeilenvorschub. Eine ausführlichere Erklärung finden Sie weiter unten.

Wie im Bild oben gezeigt: r entspricht [CR], n entspricht [LF] <—— CR ist Wagenrücklauf LF ist Zeilenvorschub

Mehrere Absätze von string, zum Beispiel
ab
cd
e
im Windows-Betriebssystem ist eigentlich: ab[CR][LF]cd[CR][LF]e

in Windows: Wagenrücklauf und Zeilenvorschub im Text werden wie folgt gespeichert: 0D 0A. Mit anderen Worten: Was zuerst gespeichert wird, ist „Wagenrücklauf r“ und dann „Zeilenvorschub n“

CR wird durch das Symbol „r“ dargestellt, der ASCII-Code ist 13, hexadezimal ist 0x0D;
LF wird durch das Symbol 'n' dargestellt, ASCII-Code ist 10, hexadezimal ist 0x0A;

regulärer Ausdruck: (?m)^(dw+) (s* )$

Beispieltext

Übereinstimmende Ergebnisse

in Expresso, PHP In, Multi- Wenn der Zeilenmodus aktiviert ist, entspricht „$“ dem Ende der Zeichenfolge oder der Position vor „n“.

Einzeiliger Modus

Einzeiliger Modus aktivieren: . Kann mit jedem Zeichen übereinstimmen (einschließlich Zeilenumbrüchen)

Einzeiliger Modus schließen: Nicht-Neuzeilen-Zeichen
AndereBeliebige Zeichen (. kann mit r übereinstimmen, also alle Zeichen außer n.)

Der Mehrzeilenmodus beeinflusst die Übereinstimmung von ^ und $

Einzel- Der Zeilenmodus beeinflusst die Übereinstimmung von .

Der Mehrzeilenmodus muss ^ oder $ oder beides enthalten, sonst macht es keinen Sinn, selbst wenn m hinzugefügt wird

Einzeiliger Modus und mehrzeiliger Modus sind zwei Konzepte, die nicht mit acht Stöcken besiegt werden können, nur weil Die historischen Gründe für die Entwicklung regulärer Ausdrücke haben solche zwei sich gegenseitig ausschließenden Konzepte von MS geschaffen

Einzeiliger Modus beeinflusst den Übereinstimmungsbereich des Dezimalpunkts „.“
Der Mehrzeilenmodus beeinflusst den Übereinstimmungsbereich von „^“ und „$“

Was die folgenden Konzepte betrifft, besteht kein notwendiger Zusammenhang zwischen dem globalen Vergleich, dem Mehrzeilenmodus und dem Greedy-Modus

Globales Matching ist deaktiviert und nur das erste erfolgreiche Match wird abgeglichen. Globales Matching ist aktiviert, alle erfolgreichen Matches werden abgeglichen.

Globaler Modus ist ein Konzept, das nur in einigen Skriptsprachen zu finden ist.
Beim Matching deaktivieren Aktivieren Sie den globalen Modus, ähnlich der Match-Methode in .NET, und aktivieren Sie den globalen Modus, ähnlich wie Matches in .NET. Die Methode
deaktiviert beim Ersetzen den globalen Modus, ähnlich wie replaceFirst in Java, und aktiviert den globalen Modus Modus, ähnlich wie replaceAll in Java

(schaltet beim Abgleich den globalen Modus aus, ähnlich wie PHP Die preg_ match

-Funktion; schaltet den globalen Modus ein, ähnlich der preg_ match_ all-Funktion in PHP)

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Dinge finden Sie auf der chinesischen PHP-Website. Andere verwandte Artikel!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung regulärer PHP-Zusicherungen mit Nullbreite

So implementieren Sie die Fuzzy-Matching-Funktion regulärer Ausdrücke

Das obige ist der detaillierte Inhalt vonDetaillierte Grafik- und Texterklärung zur Verwendung des regulären Mehrzeilenmodus und des Einzelzeilenmodus. 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