PHP entspricht der Analyse mehrerer regulärer Ausdrücke. Freunde, die es benötigen, können darauf verweisen. Es wird hauptsächlich zum Sammeln und Ersetzen verwendet.
<table>
<tr><td>aaaa</td></tr>
<tr><td>bbbb</td></tr>
<tr><td>cccc</td></tr>
<tr><td>dddd</td></tr>
</table>
Nach dem Login kopieren
Wie kann man Text wie diesen mit regulären PHP-Ausdrücken abgleichen? ?
Mein erster Gedanke:
Muster: „/
[.n]*?
“ (Das ist falsch)
Idee: „kann mit jedem Nicht-For-Zeilenumbruch übereinstimmen.“ Zeichen, verwenden Sie die Kombination „[.n]“, damit alle Zeichen (einschließlich Zeilenumbrüche) übereinstimmen, aber es treten unvorhergesehene Umstände ein – eine Tragödie, das Ergebnis ist nichts!
Nach langem Hin und Her habe ich ein weiteres geschrieben
Muster: „/
(.|n)*?
“ (Das ist möglich)
Ersetzen Sie „[]“ Ersetzen Sie es durch „()“ und verwenden Sie „|“, um eine oder-Auswahl zu treffen, und das war’s (ich bin verwirrt, warum kann „[]“ nicht auch als Auswahlmethode verwendet werden???)
Dort ist auch eine Antwort im Internet:
PATTEN : "/
.*?
/is" (sehr prägnant und praktisch, ich stimme dieser Methode zu)
Postscript: Warum kann „[]“ nicht auch ausgewählt werden? ? ? Wenn Sie davon wissen, vergessen Sie nicht, es mir zu sagen... Das „.“ in
[] ist gleichbedeutend mit…. Bitte lesen Sie die reguläre Beschreibung sorgfältig durch
Erwägen Sie die Verwendung des Mustermodifikators s, wenn es um Zeilenumbrüche geht.
s (PCRE_DOTALL)
Wenn dieser Modifikator festgelegt ist, entspricht das Punkt-Metazeichen im Muster allen Zeichen, einschließlich Zeilenumbrüchen Punkt-Metazeichen stimmt nicht mit Zeilenumbrüchen überein.
[] enthält einige Bereiche oder Kombinationen
lz versuchen Sie es mit „/
[.]*?
/is“ und Sie werden es wissen 🎜>Es gibt auch () Sehr mächtig
Weitere Artikel zur Analyse regulärer Ausdrücke von PHP, die mit mehreren Zeilen übereinstimmen, finden Sie auf der chinesischen PHP-Website!