Wie kann man dafür sorgen, dass der Punkt (.) in regulären Ausdrücken mit Zeilenumbrüchen übereinstimmt?

Mary-Kate Olsen
Freigeben: 2024-10-31 13:10:02
Original
484 Leute haben es durchsucht

How to Make the Dot (.) Match Newlines in Regular Expressions?

Reguläre Ausdrücke verwenden, um Punkte mit Zeilenumbruchzeichen in Übereinstimmung zu bringen

In regulären Ausdrücken kann der Punkt (.) mit jedem Zeichen außer Zeilenumbrüchen übereinstimmen. Manchmal möchten Sie jedoch möglicherweise auch Zeilenumbrüche abgleichen.

Um dies zu erreichen, können Sie den Modifikator DOTALL (/s) verwenden. Dadurch passt der Punkt zu allen Zeichen, einschließlich Zeilenumbrüchen.

Der folgende reguläre Ausdruck passt beispielsweise nicht zu Zeilenumbrüchen:

/<div>(.*)</div>/
Nach dem Login kopieren

Damit er zu Zeilenumbrüchen passt, fügen Sie den Modifikator DOTALL hinzu:

/<div>(.*)</div>/s
Nach dem Login kopieren

Dies ist jedoch möglicherweise nicht ideal, wenn Sie ein nicht gieriges Match wünschen. Stattdessen können Sie einen Non-Greedy-Match verwenden:

/<div>(.*?)</div>/s
Nach dem Login kopieren

Wenn keine anderen Tags vorhanden sind, können Sie alternativ alles außer „<“ zuordnen. Zeichen:

/<div>([^<]*)</div>/
Nach dem Login kopieren

Beachten Sie auch, dass Sie nicht unbedingt „/“ als Trennzeichen für reguläre Ausdrücke verwenden müssen. Durch die Verwendung eines anderen Zeichens können Sie die Schrägstriche in

vermeiden und so die Lesbarkeit verbessern. So würde beispielsweise der vorherige reguläre Ausdruck aussehen, wenn „#“ als Trennzeichen verwendet wird:

#<div>([^<]*)</div>#
Nach dem Login kopieren

Dennoch ist es wichtig zu beachten, dass diese Lösungen möglicherweise fehlschlagen, wenn verschachtelte Divs, zusätzliche Leerzeichen usw. vorhanden sind. HTML-Kommentare und andere Komplexitäten. HTML ist ziemlich komplex, daher ist es oft besser, für solche Aufgaben einen HTML-Parser zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann man dafür sorgen, dass der Punkt (.) in regulären Ausdrücken mit Zeilenumbrüchen übereinstimmt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage