BASH find filenames in list that match certain "pattern."

I guess by "pattern," I mean something different from how that word is defined in the Linux world. If you take $ to mean a letter (a-z) and # to mean a number (0-9), then the pattern I'm trying to match is as follows:

$$$##-####-###-###.jpg

I'd like to write a script that reads in a list of files line by line; such a list will be one where the greater number of the filenames, but by no means all of them, match that letter-number plus hyphen and extension pattern. The script finds and prints (to stdout or a text file) the names of the ones that do not conform to that pattern -- maybe there are only two (instead of three) numbers before the ".jpg"; maybe it's missing one of the 3-digit strings or the odd one is a number short; whatever the difference is, this would be the output. The ultimate purpose is to automate a renaming process (or rename the files by hand, using the generated list as a reference) to get all the files to match this letter-number-hyphen-extension sequence in their names. I hope I'm making sense here.

Can it be done in BASH? Or should I go looking elsewhere (Perl, Python, C++, etc.)?

BZT

some hints for you. With reg:

[0-9] stands for digital
[a-z] stands for letter

You should be able to do it by yourself.

Don't those need defined letters and numbers to start with? And maybe there's a binary or two I've yet to become acquainted with, but I've never come across a l/Unix command "reg".

Could you give a little more detail?

BZT

rdcwayx is abbreviating "regular expression" as "reg".

rdcwayx is correctly suggesting that if you do a bit of searching around in these forums (using the search features) or research on the use of regular expressions, you will find the answer to your question quite easily.

My thanks to you. I'll do just that.

BZT