Question expressions régulières preg_match_all PHP
4 messages
• Page 1 sur 1
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
Question expressions régulières preg_match_all PHP
Je me demande s'il est possible, lorsque l'on fait un pregmatchall sous PHP d'écrire une expression règulière qui fasse ce qui suit:
unmot(destrucsonsaitpasquoi)encoreunmot(.*?)encoreunmot
L'idée c'est que je récupère uniquement le contenu de (.*?) et pas celui de (destrucsonsaitpasquoi).
Sait-on exprimer (destrucsonsaitpasquoi) en regex et comment?
unmot(destrucsonsaitpasquoi)encoreunmot(.*?)encoreunmot
L'idée c'est que je récupère uniquement le contenu de (.*?) et pas celui de (destrucsonsaitpasquoi).
Sait-on exprimer (destrucsonsaitpasquoi) en regex et comment?
-

phpmikedu83 - WRInaute passionné

- Messages: 1281
- Inscription: 6 Aoû 2005
Re: Question expressions régulières preg_match_all PHP
ecocentric a écrit:Je me demande s'il est possible, lorsque l'on fait un pregmatchall sous PHP d'écrire une expression règulière qui fasse ce qui suit:
unmot(destrucsonsaitpasquoi)encoreunmot(.*?)encoreunmot
L'idée c'est que je récupère uniquement le contenu de (.*?) et pas celui de (destrucsonsaitpasquoi).
Sait-on exprimer (destrucsonsaitpasquoi) en regex et comment?
Ben des trucs on sait pas quoi, c'est:
- Code: Tout sélectionner
.*
nan?
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
Pas tout-à -fait mais j'ai trouvé en testant ta réponse.
En fait:
.*? indique une succession de n'importe quoi;
(.*?) fait la même chose mais réalise en plus l'extraction.
"<tr><td>fruit</td>jhshdkjqdkjsd<td>pomme</td><td>verte</td></tr>"
avec comme regex
/\<\/td\>.*?\<td\>(.*?)\<\/td\>/i
va donner "pomme" (il y a un ? en plus pour que l'expression ne soit pas gloutonne).
En fait:
.*? indique une succession de n'importe quoi;
(.*?) fait la même chose mais réalise en plus l'extraction.
"<tr><td>fruit</td>jhshdkjqdkjsd<td>pomme</td><td>verte</td></tr>"
avec comme regex
/\<\/td\>.*?\<td\>(.*?)\<\/td\>/i
va donner "pomme" (il y a un ? en plus pour que l'expression ne soit pas gloutonne).
-

phpmikedu83 - WRInaute passionné

- Messages: 1281
- Inscription: 6 Aoû 2005
ecocentric a écrit:Pas tout-à -fait mais j'ai trouvé en testant ta réponse.
En fait:
.*? indique une succession de n'importe quoi;
(.*?) fait la même chose mais réalise en plus l'extraction.
"<tr><td>fruit</td>jhshdkjqdkjsd<td>pomme</td><td>verte</td></tr>"
avec comme regex
/\<\/td\>.*?\<td\>(.*?)\<\/td\>/i
va donner "pomme" (il y a un ? en plus pour que l'expression ne soit pas gloutonne).
On se fait avancer mutuellement dans la gestion des regexp, c'est cool
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Expressions Régulières ! J'ai une question
- PHP - preg_match_all() et expressions regulieres
- [Résolu] expressions régulières et PHP
- [PHP Expressions régulières] Interdire chaîne
- [PHP] Expressions régulières, récupération de données
- Warning: preg_match() [function.preg-match]:
- Expressions régulières php pour traiter un texte
- Expressions régulières ?
- Expressions régulières
- Expressions regulieres mask
Consultez la description détaillée des produits ou services de Google suivants : Google Suggest
- Suggestion de mots Google
Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
