I’m trying to write a RegEx that will match any line that contains “.wpd”, and then match all lines after that until it reaches a blank line (including the blank line).
This is what I’ve tried:
/\v^.*.wpd\_.\{-}^\s*$
However, the non-greedy operator \{-} after the “all characters including new lines” character class \{-} doesn’t seem to work. If I use
/\v^.*.wpd\_.*
that will match the next line containing “.wpd” and then all lines after that. However, as soon as I change the * to \{-}, it doesn’t match anything at all.
What am I doing wrong? Thanks!
You cannot use the atom
^(same for$) inside the regexp, it has its special meaning only at the front (back); elsewhere, it’s taken as the literal char. Use\nto match a newline inside the regexp, as shown by perreal’s answer.