Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2011, 08h54   #1
Débutant
 
Inscription : novembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 1 036
Points : 166
Points : 166
Par défaut Récupérer une sous chaine de string

Bonjour

Je cherche a récupérer des éléments contenus dans une chaine de string
Par exemple, j'ai une string comme celle-ci:
(Fusain sur papier blanc naturel, grain fin 32x41.5)

Je voudrais récupérer les deux numéro qui se trouvent de part et d'autre de x.
Comment puis-je faire? Utiliser des regex?

Merci
deubelte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 10h28   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
oui en regex ça peut le faire
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/10/2011, 16h55   #3
Débutant
 
Inscription : novembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 1 036
Points : 166
Points : 166
Mais je ne connais pas du tout les regex. Comment pourrais -faire?
deubelte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 17h13   #4
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 494
Points : 2 494
Hello,

Tu peux essayer ceci
Code :
1
2
3
4
5
6
7
8
<?php
$subject = 'Fusain sur papier blanc naturel, grain fin 32x41.5';
$pattern = '/(\d+(?:\.\d*)?)x(\d+(?:\.\d*)?)/';
 
preg_match($pattern, $subject, $matches);
 
var_dump($matches);
?>
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 18h28   #5
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
C'est un peu overkill

Celui-ci fait la même chose en faisant moins peur :

Code :
$pattern = '/(\d+\.?\d*)x(\d+\.?\d*)/';
__________________
  • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
  • Merci d'utiliser les balises de code (# dans l'éditeur)
  • Si votre problème est réglé, merci d'utiliser le bouton
S.N.A.F.U
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 18h47   #6
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 494
Points : 2 494
Citation:
Envoyé par s.n.a.f.u Voir le message
C'est un peu overkill
C'est vrai, j'ai un peu forcé la dose

J'avais en tête les parenthèses non capturantes sans chercher plus loin
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 20h20   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Citation:
Envoyé par s.n.a.f.u Voir le message
C'est un peu overkill

Celui-ci fait la même chose en faisant moins peur :

Code :
$pattern = '/(\d+\.?\d*)x(\d+\.?\d*)/';
Et pour être un peu pointilleux :
Code :
$pattern = '/(\d+\.?\d*)x(\d+\.?\d*)$/';
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 08h45   #8
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Citation:
Envoyé par Bovino Voir le message
Et pour être un peu pointilleux
Et surtout hors course.
La chaine contient une parenthèse fermante à la fin, donc le chiffre n'est forcément pas le dernier caractère.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 09h04   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Citation:
Envoyé par Bisûnûrs Voir le message
Et surtout hors course.
La chaine contient une parenthèse fermante à la fin, donc le chiffre n'est forcément pas le dernier caractère.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h11.


 
 
 
 
Partenaires

Hébergement Web