Comment ignorer les espaces facultatifs dans les expressions régulières pour l'analyse HTML ?

Mary-Kate Olsen
Libérer: 2024-10-24 08:29:01
original
639 Les gens l'ont consulté

How to Ignore Optional Whitespace in Regular Expressions for HTML Parsing?

Espaces facultatifs dans les expressions régulières

Lors de l'analyse de données HTML ou texte, il est souvent nécessaire d'ignorer les espaces entre certains caractères. Cependant, cela peut être difficile à utiliser avec des expressions régulières.

Solution Utiliser s ? et s* Quantificateurs

Pour faire correspondre les espaces facultatifs entre les caractères, utilisez les quantificateurs s ? et s*.

  • s correspond à n'importe quel caractère d'espacement (espace, tabulation, nouvelle ligne, etc.).
  • ? signifie le Le caractère précédent peut apparaître une fois ou pas du tout.
  • * signifie que le caractère précédent peut apparaître zéro ou plusieurs fois.

Exemple

Pour ignorer les espaces dans les balises HTML suivantes :

<code class="html"><a href="/wiki/File:Sky1.png" title="File:Sky1.png">
<img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png" width="150" height="84">
</a></code>
Copier après la connexion

Utilisez l'expression régulière suivante :

'#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#'
Copier après la connexion

Cette expression permet un espace facultatif entre les noms d'attribut et leurs valeurs, ainsi qu'entre les valeurs d'attribut et les balises HTML environnantes.

Remarque sur les classes de caractères

Le code d'origine utilisait la classe de caractères [s ], ce qui a provoqué des résultats inattendus. Une classe de caractères correspond une fois à l'un de ses membres, et le quantificateur lui permet de se produire plusieurs fois. En remplaçant [s] par s, vous vous assurez que seuls les caractères d'espacement correspondent et que le quantificateur s'applique spécifiquement à eux.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!