Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1186 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Défi -> Regex bien casse tete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Défi -> Regex bien casse tete

n°1917349
the big be​n
Posté le 21-08-2009 à 15:10:23  profilanswer
 

Bonjour,
 
J'ai une regex assez complexe à créer.  
Je doit avoir toutes les balise image ne se trouvant pas dans une image.
En termes plus regex, toutes les tags <img.*?> mais qui ne soit pas précédé d'un tag <a.*?> à moins bien sur qu'il n'y ai un </a> entre le <a ouvrant et le <img.
 
Exemples:
1) sqdsqs<a dsfd><img>sddsffdssdf</a>               -> NON
2) sqdsqs<a dsfd>sdfdssdf<img>sddsffdssdf</a>    -> NON
3) sqdsqs<a dsfd>sdw</a>fdssdf<img>sddsffdssdf  -> OUI
4) sqdsqs<dsfd>b<img>sddsffdssdf                      -> OUI
 
Voici ma regex incomplete car elle math encore l'exemple 2)
(?<!<a.*?> )<img.*?>
 
D'avance merci
 
Ben

mood
Publicité
Posté le 21-08-2009 à 15:10:23  profilanswer
 

n°1917403
pataluc
Posté le 21-08-2009 à 16:48:29  profilanswer
 

ce qu'il te faut c'est un parseur html, pas une regexp...  [:spamafote]

n°1917472
tpierron
Posté le 21-08-2009 à 19:27:52  profilanswer
 

Clair, les regexp c'est comme l'XML, bien souvent au lieu de te résoudre un problème, ça t'en apporte un autre.

n°1917475
esox_ch
Posté le 21-08-2009 à 19:46:33  profilanswer
 

pataluc a écrit :

ce qu'il te faut c'est un parseur html, pas une regexp...  [:spamafote]


+1
 
Si c'est un site web que tu veux parser, je te conseille de regarder du côté de WWW Mechanize et des plugins qui gravitent autour... c'est expédié rapidement


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1917477
masklinn
í dag viðrar vel til loftárása
Posté le 21-08-2009 à 19:54:44  profilanswer
 

pataluc a écrit :

ce qu'il te faut c'est un parseur html, pas une regexp...  [:spamafote]


Pas mieux [:elessar53]  
 
Les regex c'est à utiliser quand c'est adapté, quand ça l'est pas ça fait plus de mal que de bien et c'est rapidement inmaintenable.
 
Ceci est l'un des cas. Un format hiérarchique structuré comme le SGML (dont est originaire le HTML) ou l'XML, ça ne se manipule pas avec des regex.
 
PS: à noter que si le parser HTML de ton langage permet d'exécuter des requêtes xpath, la découverte & sélection de nodes <img/> n'étant pas contenues dans un lien <a/> est trivial: //img[not(parent::a)] (ou //img[not(ancestor::a)] selon que le <img/> doive être directement dans un <a/> ou qu'il puisse y avoir e.g. un <span/> entre les deux)


Message édité par masklinn le 21-08-2009 à 20:04:30

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Défi -> Regex bien casse tete

 

Sujets relatifs
Aide pour une RegexREGEX s'arréter à la premiére balise
[MySQL]Regex dans un whereBien structurer mes classes ? (bis)
[Résolu] Comment bien structurer mes classes ?regex pour select mysql
[résolu] Regex pour identifier les bons couples span /span[Regex] Modifier valeur d'un attribut
Mot manquant REGEX !!!probleme de regex et preg_replace
Plus de sujets relatifs à : Défi -> Regex bien casse tete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR