Indeed regular expressions are complex.  They make my brain hurt.

Seeing some kinship with shell commands--some indication that whoever perpetrated regex did not just make it up from the whole cloth--is somehow comforting.

I recently stumbled over a great *beginner's* tutorial.
https://www.digitalocean.com/community/tutorials/using-grep-regular-expressions-to-search-for-text-patterns-in-linux#basic-usage

What makes it so good is that it uses the GPL text found on every Linux computer for the exercises, so you can practice the examples and try different options as you read along.