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

Re: match multiple non white space character except ]

Expand Messages
  • rob
    Basically, I need to match two distinct patterns. +foobar [+] Thanks. -- -- You received this message from the vim_use maillist. Do not top-post! Type
    Message 1 of 5 , Sep 15, 2013
      Basically, I need to match two distinct patterns.

      "+foobar"
      "[+]"

      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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • 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 2 of 5 , Sep 15, 2013


        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 3 of 5 , Sep 15, 2013
          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 4 of 5 , Sep 15, 2013
            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.