How to write actions

Pardon my ignorance here but please help me to understand what is written.
I see pieces of code like the examples below and I am totally confused
^\s*\d+\s*-\s*
\s+.([a-z0-9]{2,4})$
$trim(%_filename%)
\b(?:M{0,3})(?:smiley:?C{0,3}|C[DM])(?:L?X{0,3}|X[LC])(?:V?I{0,3}|I[VX])(?=(.\s|\s|)|$))

I understand that a * is a wildcard, I played with DOS for a while, and I have worked out the \s is a space but what about all the rest.

So my question is really in two parts
What language, if that is the correct word, are these all written in so I can read up on it
Alternatively where can I gain an understanding of the coding used..books, online sites etc.

It is one thing to be able to come here and use the forum to get pieces of code written by someone else to solve a problem as I have been able to do in the past I would like to be able to understand what the code means and how it works.

To be able to use MP3Tag is one thing, to be able to understand it is something quite different

I want to understand what all this code means

Thanks for your help
Gavin

I suggest updating to the current version: 2.59a
Click on :mt_help: and start reading or go here: http://help.mp3tag.de/
Looks like the "Scripting" section will be of interest to you.

"^\s*\d+\s*-\s*" and "\s+.([a-z0-9]{2,4})$" are Regular Expressions (Regex)
There are many places on the web to help you learn about Regex,
eg. http://www.regular-expressions.info/

Later, after you have experimented and made some attempts, the forum experts (not me) will help. It is best to show that you have done some homework and to ask for help with specific problems.