récupérer dernière occurrence d'une chaîne

Quelle expression régulière utiliser ?

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

Après plusieurs heures de tentatives :’(, je ne parviens pas à faire ce que je veux.

J’ai une chaîne de caractères quelconque. Je dois vérifier qu’elle se termine par <style val="quelque chose ou vide">

J’utilise cette expression régulière (mais comme vous pouvez le voir, la correspondance commence à la première occurrence de <style> et non à la dernière (ce qui est logique vu le pattern utilisé)

Image utilisateur

J’ai donc tenté le mode ungreedy mais il me retourne les deux correspondances :

Image utilisateur

Cela ne peut me convenir car si la chaîne ne se termine pas par <style val="qsdfqs">, j’ai tout de même un résultat. Je ne peux donc dire que ma chaîne se termine par <style val=""> comme le montre le résultat suivant (1 match):

Image utilisateur

Ce que je voudrais faire, c’est donc pouvoir affirmer que ma chaîne se termine par <style val="xxx">. Une fois cela effectué, je souhaite extraire ce morceau (donc seulement s’il est à la fin de la chaîne).

J’ai "joué" (dans un premier temps) avec les flags, puis j’ai commencé à pleurer en faisant des tests avec les lookahead positif et négatif en vain.

J’espère donc trouver une âme charitable et compétente sur cette problématique.

Merci

+0 -0

Cette réponse a aidé l’auteur du sujet

Le problème est que l’expression rationnelle étendue "." comprend également le caractère ’"’. La solution la plus simple m’a l’air de remplacer "."par ’[^"]’.

Édité par Gawaboumga

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte