OVH Cloud OVH Cloud

Expression régulière sur HTML

4 réponses
Avatar
Aurel
Bonjour,

j'essaie de selectionner des lignes de code HTML ayant des critères
spécifiques.
Comme ceci:
<table[^>]class="maClass"[^>]>.*</table>
Et je me retrouve avec tout le code html selectionné jusqu'a la derniere
occurence de </table>. Moi je veux m'arreter à la premiere occurence...! Pas
compliqué ms je bloque, j'ai essayé (</table>)? ou encore (</table>)\b
mais encore
<table[^>]class="maClass"[^>]>(.*[^(</table>)]</table>

mais rien n'y fait.

Si qqn connait la petite astuce !

Merci

Aurel

4 réponses

Avatar
Shea.Edriuviel
Salut,
As tu essayé cela :
=> ^<table> class="maclasse".*</table>$ <
Shea


Aurel a écrit :
Bonjour,

j'essaie de selectionner des lignes de code HTML ayant des critères
spécifiques.
Comme ceci:
<table[^>]class="maClass"[^>]>.*</table>
Et je me retrouve avec tout le code html selectionné jusqu'a la derniere
occurence de </table>. Moi je veux m'arreter à la premiere occurence...! Pas
compliqué ms je bloque, j'ai essayé (</table>)? ou encore (</table>)b
mais encore
<table[^>]class="maClass"[^>]>(.*[^(</table>)]</table>

mais rien n'y fait.

Si qqn connait la petite astuce !

Merci

Aurel




Avatar
Aurel
Salut,

non ca donne rien, en plus class est dans la balise <table class=...>
et le $ est surement valable pour le > et non pas pour </table>
et j'ai deja essayé
<table[^>]*class="maClass"[^>]*>.*(</table>)$
et ca donne rien non plus...

Nota dans le premier post il manque les * après le [^>]...ms ca change
rien...

Merci

A+
Aurel


"Shea.Edriuviel" a écrit dans le message
de news: 45a2c106$0$27367$
Salut,
As tu essayé cela :
=> ^<table> class="maclasse".*</table>$ < >
Shea


Aurel a écrit :
Bonjour,

j'essaie de selectionner des lignes de code HTML ayant des critères
spécifiques.
Comme ceci:
<table[^>]class="maClass"[^>]>.*</table>
Et je me retrouve avec tout le code html selectionné jusqu'a la derniere
occurence de </table>. Moi je veux m'arreter à la premiere occurence...!
Pas compliqué ms je bloque, j'ai essayé (</table>)? ou encore
(</table>)b
mais encore
<table[^>]class="maClass"[^>]>(.*[^(</table>)]</table>

mais rien n'y fait.

Si qqn connait la petite astuce !

Merci

Aurel




Avatar
wmn
essaye ça

<table[^>]class="maClass"[^>]>.*</table>


<table[^>]class="maClass"[^>]>.*?</table>

par défaut les quantificateurs (*,+, etc...) sont gloutons,
ils récupèrent la chaine la plus longue possible.
si tu les fais suivre d'un ? ils changent de comportement et récupèrent
la chaine la plus courte possible.

wmn.
Avatar
Aurel
Merci merci, c'est exactement ca... Et pourtant j'en ai essayé des
combinaisons avec des ? et des $ et autres encore....

Merci

A+
Aurel


"wmn" a écrit dans le message de news:
45a367b8$0$21147$
essaye ça

<table[^>]class="maClass"[^>]>.*</table>


<table[^>]class="maClass"[^>]>.*?</table>

par défaut les quantificateurs (*,+, etc...) sont gloutons,
ils récupèrent la chaine la plus longue possible.
si tu les fais suivre d'un ? ils changent de comportement et récupèrent la
chaine la plus courte possible.

wmn.