On Sun, 22 Aug 2004 14:04:47 +0100, John Clements johnjc-regex@publicinfo.net wrote:
I ran the pattern with "i" checked.
I guess you also had "s" checked because your target string contained line breaks.
What I want it to do is match the string from the beginning through "between", and when there is no instance of "between", I want it to match the entire string.
This regex should work:
^\s*An appeal.+?(Joined )?Cases? ?t ?[-] ?\d{1,3}/ ?\d{2}(.+?between|.*)
The behaviour you saw was right. (As a rule of thumb Regex Coach is always right as long as it does the same as Perl... :)
You had ".+?(between)?" which meant "match as few characters as possible up to ..." where ... was "the string 'between' OR ANYTHING" because you made 'between' optional, i.e. you regex was equivalent to ".+?". So, the regex engine matched exactly zero characters.
Does that help?
Cheers, Edi.