awk is definitely a programming language, and I've seen people abuse sed in unsettling ways, but yeah, grep sure isn't. lex at least generates C source code but isn't itself a programming language. But they all definitely made regular expressions a normal programming tool well before perl existed.