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

match multiple non white space character except ]

Expand Messages
  • rob
    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
    Message 1 of 5 , Sep 15, 2013
      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.

      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.
    • 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 2 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 3 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 4 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 5 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.