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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 13:10:02407Durchsuche

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>/

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

/<div>(.*)</div>/s

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

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

/<div>([^<]*)</div>/

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>#

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!

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