Extraire une chaine

Résolu
cs_kraven
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
- 10 nov. 2013 à 08:26
cs_kraven
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
- 13 nov. 2013 à 08:35
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

BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
10 nov. 2013 à 14:49
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...
0
cs_kraven
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013

12 nov. 2013 à 09:12
Bonjour,

Merci pour le tuto. Je n'y ai pas trouvé la réponse à mon problème.
0
BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
12 nov. 2013 à 10:45
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...
0
jordane45
Messages postés
35469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
356
12 nov. 2013 à 12:57
Bonjour,
Je pense que ceci devrait vous aller :
RegExp('<condition data="(\w*|\D*)"\/>')

0

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

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

13 nov. 2013 à 08:35
Merci Jordane mais ça ne fonctionne pas.

Par contre

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

fonctionne nikel.

Merci pour votre aide.
0