Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Analyse regulärer Ausdrücke, um mehrere Zeilen abzugleichen
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>
Wie kann man Text wie diesen mit regulären PHP-Ausdrücken abgleichen? ?
Mein erster Gedanke:
Muster: „/a34de1251f0d9fe1e645927f19a896e8[.n]*?fd273fcf5bcad3dfdad3c41bd81ad3e5“ (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: „/a34de1251f0d9fe1e645927f19a896e8(.|n)*?fd273fcf5bcad3dfdad3c41bd81ad3e5“ (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 : "/a34de1251f0d9fe1e645927f19a896e8.*?fd273fcf5bcad3dfdad3c41bd81ad3e5/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 „/a34de1251f0d9fe1e645927f19a896e8[.]*?fd273fcf5bcad3dfdad3c41bd81ad3e5/is“ und Sie werden es wissen 🎜>Es gibt auch () Sehr mächtig