Maison  >  Article  >  développement back-end  >  Analyse d'expression régulière PHP pour faire correspondre plusieurs lignes

Analyse d'expression régulière PHP pour faire correspondre plusieurs lignes

高洛峰
高洛峰original
2017-02-06 16:35:421368parcourir

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>

Comment faire correspondre un texte comme celui-ci à l'aide d'expressions régulières PHP ? ?
Ma pensée initiale :
Modèle : "/a34de1251f0d9fe1e645927f19a896e8[.n]*?fd273fcf5bcad3dfdad3c41bd81ad3e5" (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 : "/a34de1251f0d9fe1e645927f19a896e8(.|n)*?fd273fcf5bcad3dfdad3c41bd81ad3e5" (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 : "/a34de1251f0d9fe1e645927f19a896e8.*?fd273fcf5bcad3dfdad3c41bd81ad3e5/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 "/a34de1251f0d9fe1e645927f19a896e8[.]*?fd273fcf5bcad3dfdad3c41bd81ad3e5/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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn