Extraire une chaine [Résolu]

Messages postés
13
Date d'inscription
jeudi 30 août 2001
Dernière intervention
13 novembre 2013
- - Dernière réponse : cs_kraven
Messages postés
13
Date d'inscription
jeudi 30 août 2001
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
Afficher la suite 

Votre réponse

5 réponses

Messages postés
14383
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
12 février 2019
124
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Dernière intervention
13 novembre 2013
0
Merci
Bonjour,

Merci pour le tuto. Je n'y ai pas trouvé la réponse à mon problème.
Commenter la réponse de cs_kraven
Messages postés
14383
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
12 février 2019
124
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
24487
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 février 2019
361
0
Merci
Bonjour,
Je pense que ceci devrait vous aller :
RegExp('<condition data="(\w*|\D*)"\/>')

Commenter la réponse de jordane45
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Dernière intervention
13 novembre 2013
0
Merci
Merci Jordane mais ça ne fonctionne pas.

Par contre

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

fonctionne nikel.

Merci pour votre aide.
Commenter la réponse de cs_kraven

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.