Qui commence par ' et finis par ' et exclus du match

Résolu
Olivier - 9 mars 2022 à 16:24
Whismeril Messages postés 18300 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mars 2023 - 12 mars 2022 à 15:03
Bonjour à tous,
je suis bloqué sur cette regex ou je cherche à récupérer une partiel de la string sur un caractère sans l'inclure dans le match.
voici le format de ma string:
Exemple 1: "'name': 'update photo test2'" --> Match exemple 1: update photo test2
Exemple 2: "'name': 'n'importe quoi 125é& $'" --> Match exemple 2 : n'importe quoi 125é& $

Je fait actuellement: regex = / ['].+[^']/gm;
et du coup j'obtiens entre (): ( 'update photo rando test2)
Je parviens pas à faire sauté l'espace et l'apostrophe du début...
Si vous avez un idée car là je me casse les dents dessus... Merci

5 réponses

Whismeril Messages postés 18300 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mars 2023 622
9 mars 2022 à 17:33
Bonjour

Ce que tu cherches est un "Zero-width positive lookbehind assertion". Je ne sais pas comment on le traduit officiellement en français, mais je dirais un préfixe car c'est quelque chose qui doit être avant la capture (ou un suffixe quand ça doit être après)

Tu n'as pas précisé le moteur de regex que tu utilises, mais, comme la regex est encadrée par des / je suppose que c'est PHP.
Regex101 permet de tester ses regex avec différents moteur.
Tu trouveras là https://regex101.com/r/t6ZSxv/1 un exemple avec PHP > 7.3, avec comme préfixe
name': '
et comme suffixe ' et fin de ligne.
Ce qui donne
(?<=name': ').+(?='$)



1
Whismeril Messages postés 18300 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mars 2023 622
9 mars 2022 à 17:35
Tu trouveras sur regexstorm, un site qui permet de tester les regex avec le moteur .Net, la liste de toutes les instructions possibles avec ce moteur http://regexstorm.net/reference
1
Alors J'ai trouvé ça : reg = /(?!n)(?!a)(?!m)(?!e)(?!')(?!:)(?! )[a-zA-Z ].+[1-9a-zA-Z]/gm;

Mais c'est pas super optimisé.
0
Merci pour vos réponses j'étais en javascript et je tester sur regex101.

Ps: heu comment on mets en résolut?
0
Whismeril Messages postés 18300 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mars 2023 622
10 mars 2022 à 16:23
De rien

Comme tu n'es pas inscrit le bouton "Marquer comme résolu" n'apparait que sous certaines conditions (même ip, présence d'un cookie etc...)

L'autre solution est de demander à un modérateur (en signalant son propre sujet), mais comme je suis modo, je l'ai fait.

Bonne journée
0
Du coup encore merci je suis en train d'approfondir le sujet des préfix c'est pas mal !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 18300 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 mars 2023 622
Modifié le 12 mars 2022 à 15:05
👍

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Rejoignez-nous