Problème pour expression régulière

Résolu
Toto -  
 Toto -
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   Statut Membre Dernière intervention   597
 
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
Toto
 
Bonjour,

Je n'ai pas du tout compris ta réponse Grandasse81 :/
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
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
 
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
 
PS il faut clique sur l'image pour la voir en grand
0
Toto
 
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
 
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
Toto
 
Ah d'accord !

Merci :)
0