in reply to strings that dont contain

However, the tricky thing is I can't just search for the string 2003, because it might be tacked on as a range eg. 2000-2003.

So for a range 2000-2004, do you still want to tack on the 2003? You'll have to start parsing the lines if you do.