Groups | Search | Server Info | Login | Register
Groups > fr.comp.os.unix > #8147
| 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) |
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 | Next — Previous in thread | Next in thread | Find similar
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