Extraire une chaine [Résolu]

Signaler
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
-
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
-
Bonjour,

J'ai une chaîne de caractère qui contient :

<current_conditions><condition data="Pluie Fine"/><temp_f data="46"/><temp_c data="8"/><humidity data="Humidité: 87%"/><icon data="/images/weather/mist.gif"/><wind_condition data="Vent: S de 11 km/h"/></current_conditions>

J'ai écris une expression régulière pour extraire une sous-chaîne.

RegExp('<condition data="(.*)/>');

Mon problème est que cela me retourne la chaîne entre <condition data=" et la dernière occurrence de /> et non pas la première comme je le souhaiterais.

Merci pour votre aide

5 réponses

Messages postés
14808
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 septembre 2020
92
Hello,
Est-ce que ce tuto sur les RegExp peux t'aider? Il est fait pour PHP mais il peut sûrement s'adapter à ton besoin...
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013

Bonjour,

Merci pour le tuto. Je n'y ai pas trouvé la réponse à mon problème.
Messages postés
14808
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 septembre 2020
92
Ah zut...je t'avais donné ce lien car il me semblait qu'il y avait un pattern pour trouver "la 1ère occurence de..."

Regarde peut-être dans la partie RegEx du site

Sinon, étant donné que je ne maitrise pas les RegEx, un complément à ta solution serait, une fois que tu as récupéré ta chaine, c'est de récupérer la sous-chaine commençant au début et finissant au 1er guillemet...
Messages postés
29570
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 septembre 2020
337
Bonjour,
Je pense que ceci devrait vous aller :
RegExp('<condition data="(\w*|\D*)"\/>')

Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013

Merci Jordane mais ça ne fonctionne pas.

Par contre

RegExp('<condition data="(.*?)/>');

fonctionne nikel.

Merci pour votre aide.