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

Scripts/Batch Discussion :

Equivalent de preg_match_all (PHP) en Powershell [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut Equivalent de preg_match_all (PHP) en Powershell
    Bonjour tout le monde !

    Je recherche désespérément à traduire en Powershell le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('([a-z0-9]{6}-[a-z0-9]{6})', $text, $matches);
    Quelqu'un voit t'il comment faire ?

    D'avance un grand merci et bonne journée !

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    consulte cette méthode NextMatch.
    Un exemple en Powershell.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    Bonjour Laurent,

    Il fallait effectivement utiliser cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    $pat = [regex] "[a-z0-9]{6}-[a-z0-9]{6}"
    $m = $pat.match("blabla blabla 0019bb-2d3614 blabla bla")
    
    while ($m.Success)
    {
    	$m.value
    	$m = $m.NextMatch()
    			
    			
    }
    Un grand merci pour ton aide précieuse.

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    si tu veux, tu peux aussi te passer de la boucle while:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    PS\> $str = "blabla blabla 0019bb-2d3614 blabla bla214145-541258a"
    PS\> $rex = "[a-z0-9]{6}-[a-z0-9]{6}"
    
    Groups   : {0019bb-2d3614}
    Success  : True
    Captures : {0019bb-2d3614}
    Index    : 14
    Length   : 13
    Value    : 0019bb-2d3614
    
    Groups   : {214145-541258}
    Success  : True
    Captures : {214145-541258}
    Index    : 38
    Length   : 13
    Value    : 214145-541258
    
    PS\> [regex]::Matches($str,$rex) |select -exp value
    0019bb-2d3614
    214145-541258
    PS\>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    Hello,

    Ta méthode fonctionne également, je la garde sous le coude on ne sait jamais.

    Merci à toi.

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Joli coup I'm_HERE
    Citation Envoyé par julie75 Voir le message
    Ta méthode fonctionne également, je la garde sous le coude on ne sait jamais.
    Si seul le résultat t'importe, le seconde approche, basée sur une méthode statique, est préférable :
    Les méthodes Matches ne diffèrent des méthodes Match que parce qu'elles retournent la liste des correspondances exactes qui résulteraient d'un appel itératif à match= Match (...) puis à Match.NextMatch (), etc. La collection n'inclut que les correspondances exactes et s'arrête à la première correspondance infructueuse.
    De plus elle se rapproche de par sa concision de preg_match_all.

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

Discussions similaires

  1. [PHP-JS] Equivalent du code PHP suivant en Javascript
    Par Sayrus dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/05/2007, 10h51
  2. Equivalent preg_replace de PHP
    Par V_R46 dans le forum C++
    Réponses: 4
    Dernier message: 13/12/2006, 19h59
  3. equivalent fonction explode (php)
    Par lololoic dans le forum Access
    Réponses: 6
    Dernier message: 21/08/2006, 18h34
  4. [PHP-JS] equivalent eregi de php en Javascript ?
    Par vinzmeister dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2006, 22h46
  5. equivalence du isset() php en asp
    Par jecht dans le forum ASP
    Réponses: 4
    Dernier message: 13/05/2004, 14h48

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