Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Négation d'une suite de caractères dans une r.e.

1 réponse
Avatar
cwpbl
Bonjour,
Je cherche une solution pour ce problème :
Dans un HTML, matcher une table :
<table>...</table>
Mais pas n'importe laquelle. Celle qui , entre ces 2 délimiteurs
comprends un certain mot clé :
<table>...mot_cle...</table>

Entre le <table> et le </table>, on ne trouve pas <table> ou </table)
(hypothèses : pas tables imbriquées).

Des solutions comme
$t =~ /<table>.*?mot_cle.*?<\/table>/
ne fonctionnent pas : il faudrait spécifier que <table> ou </table> ne
*sont pas* entre les 2 délimiteurs. J'ai essayé avec des choses comme
(?!mot_cle), mais je n'arrive à rien là non plus...

Quelqu'un à une idée ?

1 réponse

Avatar
Laurent Wacrenier
cwpbl écrit:
Bonjour,
Je cherche une solution pour ce problème :
Dans un HTML, matcher une table :
<table>...</table>
Mais pas n'importe laquelle. Celle qui , entre ces 2 délimiteurs
comprends un certain mot clé :
<table>...mot_cle...</table>

Entre le <table> et le </table>, on ne trouve pas <table> ou </table)
(hypothèses : pas tables imbriquées).

Des solutions comme
$t =~ /<table>.*?mot_cle.*?</table>/
ne fonctionnent pas : il faudrait spécifier que <table> ou </table> ne
*sont pas* entre les 2 délimiteurs. J'ai essayé avec des choses comme
(?!mot_cle), mais je n'arrive à rien là non plus...

Quelqu'un à une idée ?


print grep { /motclef/ && s/(</table>).*/$1/ } split/<table>/;