For years I struggled to grok the difference between regular expression and parsing. The conversations I would hear about the topic always left me feeling there must be some interesting meat to the difference...and so I would go read up on it only to find myself with the same problem a few months down the line.
The only difference is layers. Enough regular expression becomes a parser. A slim enough compiler is just a templating engine.
Insisting it's a deep, dark magic and not the advanced application of `str.replace` does the industry a disservice.