regex are more useful to handle strings where the content is not known at all, but just the content "type".
For example you know that somewhere in a string there is the time as one or two numbers followed by ":" followed by two numbers.
The expression to find that would be:
giving you the two numbers in $1 and $2 (or \1 and \2 depending on the syntax used by the engine) available for generating a new string, do a string replacement, or provided values in an array of results.
- parenthesis ( ) indicate groups that you want to catch for extract/re-use
- the \ followed by something is either special character meaning (here \d for decimal number) or escaping a special character for regular use (\. for a dot, as the dot alone means "any character")
- braces { } are for number of occurrences of the type of character defined just before.
I do not know how it is handled in AMC exactly since it was added by soulsnake and I haven't use these there yet (you'll have to check Help and/or other scripts for samples), but I use these a little everywhere.
For more info on the syntax try to find samples on internet, as it is impossible to describe quickly everything.