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

138733Re: Regexp help

Expand Messages
  • Erik Christiansen
    Jul 30, 2013
    • 0 Attachment
      On 30.07.13 07:41, Ben Fritz wrote:
      > The OP specifically said that valid decimals are "in the form 1.0D0,
      > or more precisely \d\+\.\d\+D\d\+" so I didn't try stuff like "123."
      > or ".123".

      Wot ... just trust the problem specification? OK, the OP might be a
      mathematician or engineer, since fortran is mentioned, so you're
      probably right. But in years gone by, I sometimes wrote regexes for
      others in a technical department, and the original problem spec almost
      always had to be tightened, to exclude stuff which hadn't been thought of.

      > But possibly as in the other thread we need to account for negative numbers?

      If we change the test text to:

      123 123.0 123. -456 0.123 .123 789

      then what we had:

      > > /\v\.@<!<\d+>\.@!

      also finds -456, but the cursor is on the 4, not the minus sign.
      If signed integers are also needed, we'd probably have to ditch the
      precondition, since /\v(-?|\.@<!)<\d+>\.@! introduces an ambiguity which
      defeats that alternative. (It's rotten regex construction.)

      This, though, finds "-456", rather than "456":

      \v(^|[ \t+-])<\d+>\.@!

      but again finds "123" " 789", as before. Maybe that's OK?


      Remembering is for those who have forgotten.
      - Chinese proverb

      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.
    • Show all 15 messages in this topic