Maison  >  Article  >  développement back-end  >  Comment faire correspondre les caractères de nouvelle ligne dans les expressions régulières lors de la capture de texte entre les balises `` ?

Comment faire correspondre les caractères de nouvelle ligne dans les expressions régulières lors de la capture de texte entre les balises `` ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 06:00:03125parcourir

How to Match Newline Characters in Regular Expressions When Capturing Text Between `` Tags?

Correspondance des caractères de nouvelle ligne dans les expressions régulières

Dans cette question, l'utilisateur vise à capturer du texte entre

et
balises. Cependant, l'expression régulière initiale /
(.*)
match n'a pas réussi à correspondre aux caractères de nouvelle ligne. Pour résoudre ce problème, le modificateur DOTALL` (/s) est nécessaire :

'/<div>(.*)<\/div>/s'

En utilisant ce modificateur, le point (.) dans l'expression régulière peut correspondre aux caractères de nouvelle ligne.

Alternativement , une correspondance non gourmande (.*?) peut être utilisée :

'/<div>(.*?)<\/div>/s'

Cela garantira que la correspondance s'arrête à la première occurrence de

.

S'il y a il n'y a aucune autre balise dans le

balises, l'expression régulière suivante peut être utilisée pour tout faire correspondre sauf < dans les balises :

'/<div>([^<]*)&<\/div>/'

Cependant, il est important de noter que les divs imbriqués, les espaces supplémentaires, les commentaires HTML et d'autres complexités peuvent rendre difficile l'analyse HTML avec des expressions régulières. Pour une analyse fiable, il est conseillé d'utiliser un analyseur HTML à la place.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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