In regex, '.' (period) represents any single character. '*' means "match the preceding character (or character range) zero or more times", '?' means "match the preceding character zero or one times", and '+' means "match the preceding character one or more times. So what you want is probably something more like '^T.*3$' or '^T.+3$', depending on whether you expect anything to exist between the first and last characters (the second one would match "Test3", but not "T3").
You can specify a range of characters or numbers with brackets, so '^[a-zA-Z].+[0-9]$' will match any letter of the alphabet at the beginning of the line, followed by one or more characters of any type, and ending with any number.
There are some special character range types also, like [:alnum:], which represents any alphanumeric character. You can find these documented in the grep man page.
There are many good regular expression tutorials on the web. I very highly recommend taking the time to work through one. You'll be glad you did.
Last edited by David the H.; 02-10-2009 at 12:34 PM.
Reason: added recommendation at the end