Groups | Search | Server Info | Login | Register


Groups > fr.comp.os.unix > #8147

Re: Shell : extraire d'une chaine plusieurs sous-chaines

Date 2025-11-27 11:07 +0100
Subject Re: Shell : extraire d'une chaine plusieurs sous-chaines
Newsgroups fr.comp.os.unix
References <10g4rbq$2i1$1@cabale.usenet-fr.net>
From kurtz le pirate <kurtzlepirate@free.fr>
Organization compagnie de la banquise
Message-ID <692822e1$0$419$426a34cc@news.free.fr> (permalink)

Show all headers | View raw


On 25/11/2025 19:08, Olivier Miakinen wrote:
> [diapublication, suivi vers fr.comp.os.unix seul]
> 
> Bonjour,
> 
> Dans un script ksh, je cherche la façon la plus élégante d'extraire
> d'une chaine plusieurs sous-chaines. Le cas réel est plus complexe
> que celui que je vais exposer, mais je saurai extrapoler ensuite.
> 
> 
> Supposons que j'ai une chaine constituée d'1 ou plusieurs lettres,
> puis 1 chiffre, puis optionnellement d'autres lettres, puis encore
> 1 ou plusieurs chiffres. Pour fixer les idées, disons que la chaine
> répondrait à la regex suivante :
>     /[a-z]+[0-9][a-z]*[0-9]+/
> 
> Je voudrais extraire chaque partie dans une variable différente.
> Quelques exemples :
>   s="test1xyz27"  ->  v1="test" v2="1"  v3="xyz"  v4="27"
>   s="aa9toto000"  ->  v1="aa"   v2="9"  v3="toto" v4="000"
>   s="x012"        ->  v1="x"    v2="0"  v3=""     v4="12"
> 
> ...



Bonjour,

Un test sur <https://www.myregextester.com> avec :

source text : aaaaa111bb22cccccc3333dd44e5f666666
match pattern : ([a-zA-Z]+|\d+)
result : $matches Array:
(
     [0] => Array
         (
             [0] => aaaaa
             [1] => 111
             [2] => bb
             [3] => 22
             [4] => cccccc
             [5] => 3333
             [6] => dd
             [7] => 44
             [8] => e
             [9] => 5
             [10] => f
             [11] => 666666
         )

     [1] => Array
         (
             [0] => aaaaa
             [1] => 111
             [2] => bb
             [3] => 22
             [4] => cccccc
             [5] => 3333
             [6] => dd
             [7] => 44
             [8] => e
             [9] => 5
             [10] => f
             [11] => 666666
         )

)


  NODE                     EXPLANATION
----------------------------------------------------------------------
(?-imsx:                 group, but do not capture (case-sensitive)
                          (with ^ and $ matching normally) (with . not
                          matching \n) (matching whitespace and #
                          normally):
----------------------------------------------------------------------
   (                        group and capture to \1:
----------------------------------------------------------------------
     [a-zA-Z]+                any character of: 'a' to 'z', 'A' to 'Z'
                              (1 or more times (matching the most
                              amount possible))
----------------------------------------------------------------------
    |                        OR
----------------------------------------------------------------------
     \d+                      digits (0-9) (1 or more times (matching
                              the most amount possible))
----------------------------------------------------------------------
   )                        end of \1
----------------------------------------------------------------------
)                        end of grouping
----------------------------------------------------------------------




ca peut te donner une piste ?

ps : je n'arrive pas à poster sur "PasDeNom" bien que test soit ok :(



-- 
kurtz le pirate
compagnie de la banquise

Back to fr.comp.os.unix | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 19:08 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-25 19:45 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 22:36 +0100
      Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-25 23:48 +0000
        Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 11:55 +0100
          Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 12:37 +0100
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-26 13:50 +0100
              Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:58 +0000
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-27 01:09 +0100
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-28 15:45 +0000
                Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-12-08 14:27 +0100
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:29 +0000
          Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-26 21:16 +0000
            Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-27 00:52 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Nicolas George <nicolas$george@salle-s.org> - 2025-11-25 20:32 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-11-25 22:42 +0100
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Christian Weisgerber <naddy@mips.inka.de> - 2025-11-28 15:58 +0000
  Re: Shell : extraire d'une chaine plusieurs sous-chaines kurtz le pirate <kurtzlepirate@free.fr> - 2025-11-27 10:59 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines kurtz le pirate <kurtzlepirate@free.fr> - 2025-11-27 11:07 +0100
  Re: Shell : extraire d'une chaine plusieurs sous-chaines Doug713705 <doug.letough@free.fr> - 2025-12-20 12:30 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Nicolas George <nicolas$george@salle-s.org> - 2025-12-20 13:44 +0000
    Re: Shell : extraire d'une chaine plusieurs sous-chaines Olivier Miakinen <om+news@miakinen.net> - 2025-12-21 21:19 +0100

csiph-web