Problème pour expression régulière

Résolu/Fermé
Toto - 1 sept. 2016 à 15:34
 Toto - 2 sept. 2016 à 11:28
Bonjour,

J'aimerai savoir comment récupérer grâce à une expression régulière comment récupérer le contenu entre deux accolades comme suit : {{ SERVER_WEB }}

Outre la réponse c'est surtout le fait de comprendre la réponse qui m’intéresse car je me noie avec les expressions régulières .. :/

A noter qu'il peut y avoir un espace entre SERVER_WEB comme ne pas y avoir d'espace.

Merci d'avance

A voir également:

2 réponses

Grandasse_ Messages postés 924 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 27 avril 2023 595
1 sept. 2016 à 18:41
Bonjour,

Je ne suis pas sur de savoir où doivent se situer les espaces, je propose ça : https://lehollandaisvolant.net/tout/tools/regex/!embed=false&flags=&re=%7B%7B%5Cs%3FSERVER_INFO%5Cs%3F%7D%7D
0
Bonjour,

Je n'ai pas du tout compris ta réponse Grandasse81 :/
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
2 sept. 2016 à 10:19
Son lien est mal interprété par le forum, copie/colle ça dans ta barre d'adresse :

https://lehollandaisvolant.net/tout/tools/regex/!embed=false&flags=&re=%7B%7B%5Cs%3FSERVER_INFO%5Cs%3F%7D%7D
0
Utilisateur anonyme
2 sept. 2016 à 09:36
Bonjour, il te propose un site ou tu peux tester ta regex.
Ce qui est bien pratique, mais ne t'aide pas à comprendre.

Je ne pratique pas le PHP, mais ce tuto me paraît pas mal
https://www.lucaswillems.com/fr/articles/25/tutoriel-pour-maitriser-les-expressions-regulieres

Dans ton cas tu cherches:
  • 2 accolades
  • un espace ou rien
  • un texte qui correspond à ton Web_Serveur, dont tu n'as rien dit, alors on dira que c'est n'importe quel caractère répétés un nombre indéterminé de fois
  • un espace ou rien, ce texte sera le groupe à récupérer
  • 2 accolades


En détail,
  • 2 accolades, l'accolade est un caractère spécial, il faut donc l'échapper, et ensuite préciser qu'on le veut 2 fois (entre accolades!)
    \{{2}
  • l'espace
     ?
  • groupe à récupérer constitué de n'importe quel caractère n fois
    (.*)


Ce qui donne
\{{2} ?(.*) ?\}{2}



Comme tu le vois sur la capture d'un autre site de test(en bas à droite Match 1), le groupe est bien extrait.

0
Utilisateur anonyme
2 sept. 2016 à 09:38
PS il faut clique sur l'image pour la voir en grand
0
Bonjour Whismeril,

Tout d'abord merci pour toutes tes explications ! J'ai vraiment bien compris :)

Je suis d'autant plus content que j'avais trouvé quasiment la même regex que toi en cherchant par moi-même seulement moi j'avais mis \s à la place de ? pour l'espace blanc.

Tu penses que ça fonctionne tout de même ?

Merci encore !!
0
Utilisateur anonyme
2 sept. 2016 à 11:18
l'espace blanc n'est pas le ?, le ? c'est pour dire que le caractère précèdent est présent 0 ou 1 fois.
J'ai mis un "vrai" espace car la plupart des implémentations l'acceptent, mais tu peux aussi mettre un \s
0
Ah d'accord !

Merci :)
0