"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 > Traiter des blancs facultatifs dans des expressions régulières pour extraire avec précision les données

Traiter des blancs facultatifs dans des expressions régulières pour extraire avec précision les données

Publié le 2025-04-14
Parcourir:332

How to Handle Optional Whitespace in Regular Expressions for Accurate Data Extraction?

Regex Whitespace optionnel: ignorer les espaces dans les valeurs d'attribut

Dans la programmation, il existe des scénarios où vous devez gérer les instances où les chaînes contiennent des espaces blancs facultatifs. Cela peut être difficile lors de l'écriture d'expressions régulières pour extraire les données avec précision. preg_match ('# & lt; a href = & quot; (. *?) & quot; title = & quot; (. *?) & quot; & gt; & lt; img alt = & quot; (. *?) & quot; src = & quot; (. *?) & quot; [\ s *] width = & quot; 150 & quot; [\ s *] height = & quot; (. *?) & quot; & gt; & lt; / a & gt; # ', $ data, $ imageMatch); $ image = $ iMageMatch [4];

Ce code extrait l'attribut SRC d'une image à partir du balisage html. Cependant, il ne gère pas les cas où il n'y a pas d'espace entre certains attributs, tels que:

# Get Image data
preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch);
$image = $imagematch[4];
& lt; a href = & quot; / wiki / file: sky1.png & quot; title = & quot; fichier: sky1.png & quot; & gt; & lt; img alt = & quot; sky1.png & quot; src = & quot; http: //media-mcw.cursecdn.com/thumb/5/56/sky1.png/150px-sky1.png" width = & quot; 150 & quot; height = & quot; 84 & quot; & gt; & lt; / a & gt;

ou
<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>
& lt; a href = & quot; / wiki / file: tallgrass.gif & quot; title = & quot; fichier: tallgrass.gif & quot; & gt; & lt; img alt = & quot; tallgrass.gif & quot; src = & quot; http: //media-mcw.cursecdn.com/3/34/tallgrass.gif" width = & quot; 150 & quot; height = & quot; 150 & quot; & gt; & lt; / a & gt;

pour résoudre ce problème, nous pouvons utiliser le regex de l'espace blanc facultatif. Cela nous permet d'ignorer les espaces entre les caractères. Voici comment:
<a href="/wiki/File:TallGrass.gif" title="File:TallGrass.gif"><img alt="TallGrass.gif" src="http://media-mcw.cursecdn.com/3/34/TallGrass.gif" width="150"height="150"></a>

dans cette expression régulière mise à jour:

# Get Image data
preg_match('#<a href="(.*?)" title="(.*?)"><img alt="(.*?)" src="(.*?)"[\s*]width="150"[\s*]height="(.*?)"></a>#', $data, $imagematch);
$image = $imagematch[4];
\ s? avant = signifie qu'un espace est autorisé mais facultatif.

\ s * Une fois que la valeur d'attribut permet un espace facultatif après le nom et la valeur de l'attribut.
Déclaration de sortie Cet article est reproduit sur: 1729729039 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
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