IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

recherche de caractères dans une chaine


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut recherche de caractères dans une chaine
    Bonjour à tous,

    Je suis nouveau dans le domaine de php et j'ai le problème suivant:

    Je dois rechercher la présence d'un certain nombre de caractères dans une
    chaine, je m'explique , j'ai les caracteres suivants à rechercher : aZsh dans la
    phrase suivante :

    Abcbcbc jjjdddjjjd ZZZZjdjdjd => résultat : je ne veux pas de cette phrase

    Autre cas :
    ajjdbbjkkd kkjjzzzeijijz jhsteydujjs ddhhsuzs : je veux cette phrase :
    | | | |
    car les 4 caractères existent bien dans la phrase et dans l'ordre

    Le nombre de caractères à rechercher est variable, ils peuvent êtres
    espacés, séparés ou non.
    J'ai bricolé en les mettant dans une table avec pour résultat a.*Z.*s.*h et
    j'ai utilisé celà avec eregi mais il semble ne pas trouver de concordance.
    Peut-être existe-t'il un autre moyen plus simple??

    Merci pour toute aide

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par schuller Voir le message
    (...)
    ajjdbbjkkd kkjjzzzeijijz jhsteydujjs ddhhsuzs : je veux cette phrase :
    | | | |
    car les 4 caractères existent bien dans la phrase et dans l'ordre
    (...)
    Bah non, c'est pas le bon ordre : le h arrive avant le s

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Par défaut Pour être plus clair
    Rebonjour à tous,
    je vais essayer de mettre un exemple plus clair, je dois repérer
    la suite VMMIX dans les phrases suivantes :
    1) PRIS A MIDI, PENDU A UNE HEURE (non, pas la bonne phrase)
    2) IN PRINCIPIO ERAT VERBUM (non, pas la bonne phrase)
    3) Le temps qui passe est un autre thème favori des penseurs. La pensée est plus banale, mais il ya de multiples façons de l'exprimer

    La phrase numéro 3 m'intéresse car il y a bien vmmix dans l'ordre recherché
    le v dans favori, le m dans mais, le i dans mais et le x dans exprimer, dans
    l'ordre demandé par la variable vmmix

    Si cela permet d'éclairer un peu

    Merci

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( preg_match( '#V.*M.*M.*X.*I#Ui', $myString ) ) {
      echo 'ok';
    }

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( preg_match( '#V.*M.*M.*X.*I#Ui', $myString ) ) {
      echo 'ok';
    }
    Bonjour,

    Je dirais même plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $pattern = '#v[^m]*m[^x]*x[^i]*i#Ui'
    if ( preg_match( $pattern, $myString ) ) {
      echo 'ok';
    }
    Un peu d'optimisation ne fait pas de mal...

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par jml94 Voir le message
    Bonjour,

    Je dirais même plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $pattern = '#v[^m]*m[^x]*x[^i]*i#Ui'
    if ( preg_match( $pattern, $myString ) ) {
      echo 'ok';
    }
    Un peu d'optimisation ne fait pas de mal...
    Salut,

    Y a-t-il une différence entre ton code et le mien (qui donnent le même résultat) ?
    Dans ton cas, tu dis que tu veux un caractère v suivi de n'importe quel caractère sauf le m, jusqu'au prochain m (un peu contradictoire non ?).
    Dans mon cas, je dis que je veux un caractère v suivi de n'importe quel caractère jusqu'au prochain m. Ce qui au final revient exactement au même. La différence se situerait-elle au niveau temps d'exécution (flemme de faire un benchmark ) ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rechercher un caractère dans une chaine.
    Par Milyshyn76 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/05/2009, 09h19
  2. Recherche de caractère dans une chaine
    Par Maestro57 dans le forum Langage
    Réponses: 8
    Dernier message: 05/07/2007, 14h59
  3. Réponses: 4
    Dernier message: 07/12/2006, 11h01
  4. [RegEx] recherche et replacement dans une chaine de caractère
    Par Ekimasu dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2006, 21h39
  5. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo