Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man dafür sorgen, dass der Punkt (.) in regulären Ausdrücken mit Zeilenumbrüchen übereinstimmt?
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
#<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!