Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: substitution groups and patterns i replace string (Emacs' \\1 etc.)
- X-seq: zsh-workers 38115
- From: Stephane Chazelas <stephane.chazelas@xxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Re: substitution groups and patterns i replace string (Emacs' \\1 etc.)
- Date: Tue, 8 Mar 2016 12:13:49 +0000
- In-reply-to: <160307185234.ZM23145__47329.0627044209$1457405642$gmane$org@torch.brasslantern.com>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <87k2lk2ws9.fsf@debian.uxu> <20160303094140.705eb3bd@pwslap01u.europe.root.pri> <87a8mccfmv.fsf@debian.uxu> <CAHYJk3R_GwkJ2_ayNdZbT+8ByOC-hSRJrUV6Jch-w4uOVBjTsg@mail.gmail.com> <160307185234.ZM23145__47329.0627044209$1457405642$gmane$org@torch.brasslantern.com>
2016-03-07 18:52:34 -0800, Bart Schaefer:
> On Mar 6, 8:15am, Mikael Magnusson wrote:
> }
> } % echo ${a//(#b)([aoeui])/${(U)match[1]}}
>
> It's actually quite simple to make $1, $2, ... refer to the values in
> the $match array during ${v//p/r} substitutions. This would make the
> syntax look very perl-ish, but would mean you can't combine backrefs
> with expansions of the normal positional parameters.
[...]
Note that ksh93 does support
$ var=aaabbcdd
$ print -r -- "${var//@(?)\1/2<\1>}"
2<a>a2<b>c2<d>
That is \1 both as a back-reference in the pattern and capture
group for the substitution.
--
Stephane
Messages sorted by:
Reverse Date,
Date,
Thread,
Author