PHP correspond à l'analyse d'expressions régulières de plusieurs lignes. Les amis qui en ont besoin peuvent s'y référer. Il est principalement utilisé pour la collecte et le remplacement.
<table>
<tr><td>aaaa</td></tr>
<tr><td>bbbb</td></tr>
<tr><td>cccc</td></tr>
<tr><td>dddd</td></tr>
</table>
Copier après la connexion
Comment faire correspondre un texte comme celui-ci à l'aide d'expressions régulières PHP ? ?
Ma pensée initiale :
Modèle : "/
[.n]*?
" (C'est faux)
Idée : "." peut correspondre à n'importe quel non- Pour une nouvelle ligne caractères, utilisez la combinaison "[.n]" pour la faire correspondre à tous les caractères (y compris les caractères de nouvelle ligne), mais il y a des circonstances imprévues - tragédie, le résultat n'est rien !
Après beaucoup de rongement, j'en ai écrit un autre
Modèle : "/
(.|n)*?
" (C'est possible)
Remplacer "[]" Remplacez-le par "()" et utilisez "|" pour faire une sélection ou, et c'est tout (je suis confus, pourquoi "[]" ne peut-il pas également être utilisé comme méthode de sélection ???)
Là est aussi une réponse sur Internet :
PATTEN : "/
.*?
/is" (très concis et pratique, je suis d'accord avec cette méthode)
Post-scriptum : Pourquoi « [] » ne peut-il pas également être sélectionné ? ? ? Si vous le savez, n'oubliez pas de me le dire... Le "." dans
[] est équivalent à.... Veuillez lire attentivement la description habituelle
De manière générale. envisagez d'utiliser le modificateur de motif s en ce qui concerne les sauts de ligne.
s (PCRE_DOTALL)
Si ce modificateur est défini, le métacaractère point dans le motif correspond à tous les caractères, y compris les nouvelles lignes. Le métacaractère point ne correspond pas aux nouvelles lignes.
[] contient certaines plages ou combinaisons
lz essayez "/
[.]*?
/is" et vous le saurez <.>Il y a aussi () Très puissant
Pour plus d'articles liés à l'analyse des expressions régulières de PHP correspondant à plusieurs lignes, veuillez faire attention au site Web PHP chinois !