Loading ...
Sorry, an error occurred while loading the content.

Re: match multiple non white space character except ]

Expand Messages
  • Nikolay Pavlov
    ... [+] . ... want to avoid. I guess ] fits the non-whitespace character constraint. ... right. Right variant is / v + ]@! S+. But why don t you use w?
    Message 1 of 5 , Sep 15, 2013
    View Source
    • 0 Attachment


      On Sep 15, 2013 7:04 PM, "rob" <apollo730730@...> wrote:
      >
      > I'm trying to match the pattern "+word" while at the same not matching "[+]".
      >
      > /\v\+\S+ matches "+word" just fine but also picks up the "+]" which I want to avoid.  I guess "]" fits the "non-whitespace character" constraint.
      >
      > I've tried a few variations using the "@!" but none of which I can get right.

      Right variant is /\v\+\]@!\S+. But why don't you use \w?

      > Thanks for any guidance you can provide.
      >
      > Rob
      >
      > --
      > --
      > 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@....
      > 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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • rob
      ... Thanks. I didn t use w because foobar can contain special characters also - not limited to [0-9A-Za-z_] Apologies for not mentioning this important
      Message 2 of 5 , Sep 15, 2013
      View Source
      • 0 Attachment
        On Sunday, September 15, 2013 11:39:21 AM UTC-4, ZyX wrote:
        > On Sep 15, 2013 7:04 PM, "rob" <apollo...@...> wrote:
        >
        > >
        >
        > > I'm trying to match the pattern "+word" while at the same not matching "[+]".
        >
        > >
        >
        > > /\v\+\S+ matches "+word" just fine but also picks up the "+]" which I want to avoid.  I guess "]" fits the "non-whitespace character" constraint.
        >
        > >
        >
        > > I've tried a few variations using the "@!" but none of which I can get right.
        >
        > Right variant is /\v\+\]@!\S+. But why don't you use \w?
        >
        > > Thanks for any guidance you can provide.
        >
        > >
        >
        > > Rob
        >
        > >
        >
        > > --
        >
        > > --
        >
        > > 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+u...@....
        >
        > > For more options, visit https://groups.google.com/groups/opt_out.

        Thanks. I didn't use \w because "foobar" can contain special characters also - not limited to [0-9A-Za-z_]

        Apologies for not mentioning this important detail: I'm matching these patterns for syntax higlighting.

        Interestingly this pattern works in regular search but not for syntax matching.
        i.e. searching for "/\v\+\]@!\S+" correctly matches "+foobar" and doesn't match "+]" as specified.

        But specifying
        :syn match foobarGroup /\v\+\]@!\S+/
        also seems to match "+]"

        I was surprised about the difference, sorry again for leaving out the detail in my earlier post - I didn't know it made a difference.

        Thanks again.

        --
        --
        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@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • rob
        Thanks - it works like a charm! When I tried the same I had the ordering wrong (the not matching atom was in the end instead of the beginning). I didn t use
        Message 3 of 5 , Sep 15, 2013
        View Source
        • 0 Attachment
          Thanks - it works like a charm!

          When I tried the same I had the ordering wrong (the "not matching" atom was in the end instead of the beginning).

          I didn't use \w because "foobar" can contain special characters also - not limited to [0-9A-Za-z_].

          Thank you again!

          Rob

          --
          --
          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@....
          For more options, visit https://groups.google.com/groups/opt_out.
        Your message has been successfully submitted and would be delivered to recipients shortly.