I also checked "help \@!", and got this:

Useful example: to find "foo" in a line that does not contain "bar":
/^\%(.*bar\)\@!.*\zsfoo

but it seems, it desn't work with back-ref ...

guys, who can help explaining these ?


On Sat, Aug 10, 2013 at 10:50 PM, ping song <[email protected]> wrote:

> hi:
> thanks for the response, this look much shorter!
> but this doesn't work either...
>
> :g/\(abc\d\+\).*\1\@!\(.*\)
> 1 abc123 bla bla bla abc123 bla bla
> 2 abc123 bla bla bla abc1234 bla bla
> 3 abc123 bla bla bla abc123 bla bla
> 4 abc123 bla bla bla abc1234 bla bla
> 5 abc123 bla bla bla abc123 bla bla
>
> I'm expecting to see only line 2&4...
>
> any idea?
>
> regards
> ping
>
>
>
> On Sat, Aug 10, 2013 at 5:11 PM, Niklas Reinhart <
> [email protected]> wrote:
>
>> Hi,
>>
>> this works for me:
>>
>>         abc\(\d\+\).*abc\1\@!
>>
>> Regards
>>
>> Niklas
>>
>>
>> Am Sat, 10 Aug 2013 16:45:30 -0400
>> schrieb Ping Song <[email protected]>:
>>
>> > thanks. yes I know we can use that way(/1 /2 ..etc).
>> > what I meant is, how to use these to actually do the compare in a vim
>> > ex command line? sth like :
>> >
>> > :g#\(abc\d\+) bla bla \(abc\d\+\)#if /1 != /2 then echo "found a
>> > diff !"
>> >
>> > of course this doesn't work but just some fake code to clarify what I
>> > meant
>> >
>> >
>> >
>> > On Sat, Aug 10, 2013 at 3:30 AM, Marcin Szamotulski
>> > <[email protected]> wrote: Hi,
>> >
>> > I am not sure if I understand you correctly but you can use \(...\)
>> > and and then reuse it with \1 (it matches the same string as what
>> > \(...\) have matched).
>> >
>> > Regards,
>> > Marcin
>> >
>> >
>> >
>> > On 00:44 Sat 10 Aug     , ping song wrote:
>> > > hi guys:
>> > > I run into a scenario that , I need to compare 2 part of the regex
>> > > string in one line :
>> > >
>> > > "abc123456 bla bla bla abc1234"
>> > >
>> > > so I'm thinking, can we use the backreference, to compare the first
>> > > abc\d\+ with the second one and only print out a message in case we
>> > > detect the different ones ? preferably if this can be done with one
>> > > command...
>> > >
>> > > thanks!
>> > >
>> > > --
>> > > --
>> > > 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
>> > > [email protected]. For more options, visit
>> > > https://groups.google.com/groups/opt_out.
>> > >
>> > >
>> >
>> > --
>> > --
>> > 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
>> > [email protected]. For more options, visit
>> > https://groups.google.com/groups/opt_out.
>> >
>>
>> --
>> --
>> 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 [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>

-- 
-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to