Sunday, August 25, 2013

Re: regexp: different match, re=1 vs re=0

William Fugh wrote:

> On Thu, Aug 22, 2013 at 10:14 PM, Bram Moolenaar <Bram@moolenaar.net> wrote:
>
> >
> > William Fugh wrote:
> >
> > > Version: 7.4, gVim, MS-DOS/MS-Windows
> > > =========================================================
> > >
> > :%s#\[\(com\|ref\|ex\|p\|i\|u\|s\|b\)\]\zs\s\+\|\s\+\ze\[/\(com\|ref\|ex\|p\|i\|u\|s\|b\)\]\|[({]\zs\s\+\|\s\+\ze[)}]\|\s\zs\s\+\|\s\+\ze[,;.]\([^.,;]\)##g
> > >
> > ----------------------------------------------------------------------------------------------------------------
> > > the command line as above, one line for test as follows, <Space> means a
> > > space.
> > >
> > -----------------------------------------------------------------------------------------------------------------
> > > This<Space>is<Space><Space><Space>[a<Space>test.
> > > =========================================================
> > > Result of re=1: This<Space>is<Space>[a<Space>test.
> > > Result of re=0: This<Space>is<Space><Space>test.
> > > ==============================================================*
> > > Both of these regexp engines have the same result if the following
> > command
> > > line is used:-)*
> > >
> > ---------------------------------------------------------------------------------------------------------------------------
> > >
> > :%s#\[\(com\|ref\|ex\|p\|i\|u\|s\|b\)\]\zs\s\+\ze\|\zs\s\+\ze\[/\(com\|ref\|ex\|p\|i\|u\|s\|b\)\]\|[({]\zs\s\+\ze\|\zs\s\+\ze[)}]\|\s\zs\s\+\ze\|\zs\s\+\ze[,;.]\([^.,;]\)##g
> > >
> > ---------------------------------------------------------------------------------------------------------------------------
> >
> > That's a long regexp. Can you reproduce it with a (much) shorter one?
> >
>
> :%s#\s\+\ze\[/\|\s\zs\s\+##g "result: (re=1) <> (re=0
> :%s#\s\+\ze\[/\|\s\zs\s\+\ze##g "result: (re=1) == (re=0

Thanks, that makes the puzzle much simpler.
I suspect it has something to do with \ze in an alternative.

--
hundred-and-one symptoms of being an internet addict:
121. You ask for e-mail adresses instead of telephone numbers.

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment