"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je faire correspondre les caractères de nouvelle ligne dans Regex lors de l'extraction de contenu à partir de balises HTML ?

Comment puis-je faire correspondre les caractères de nouvelle ligne dans Regex lors de l'extraction de contenu à partir de balises HTML ?

Publié le 2024-11-21
Parcourir:355

How Can I Match Newline Characters in Regex When Extracting Content from HTML Tags?

Faire correspondre les caractères de nouvelle ligne avec le modificateur DOTALL Regex

Lorsque vous travaillez avec une chaîne contenant des caractères normaux, des espaces et des nouvelles lignes entourés de balises HTML div, le but est d'extraire le contenu entre

et
à l'aide d'expressions régulières. Un problème courant survient lorsque le métacaractère standard .* ne correspond pas aux nouvelles lignes.

Pour surmonter ce problème, il faut utiliser le modificateur DOTALL (/s). Ce modificateur garantit que le caractère point (. dans l'expression régulière) correspond à tous les caractères, y compris les nouvelles lignes. En incorporant ce modificateur dans l'expression régulière, il devient possible de capturer avec précision le contenu dans les balises div :

'/
(.*)/s'

Cependant, cette approche peut donner lieu à des matchs gourmands. Pour résoudre ce problème, il est recommandé d'utiliser une correspondance non gourmande :

'/
(.*?)/s'

Alternativement, faire correspondre tout sauf

'/
([^

C'est Il convient de noter que l'utilisation d'un caractère autre que / comme délimiteur d'expression régulière peut améliorer la lisibilité, éliminant ainsi le besoin d'échapper à / dans

. Voici un exemple utilisant # comme délimiteur :
'#
([^

Bien que ces solutions puissent suffire pour des cas simples, il est Il est essentiel de reconnaître que le HTML est complexe et que l'analyse des expressions régulières à elle seule peut ne pas suffire. Pour garantir une analyse complète et fiable, il est conseillé d'envisager d'utiliser un analyseur HTML dédié.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3