Even beyond the regex syntax itself, you often also start running into encoding problems when trying to actually use them. Typing the regex in a shell? Make sure to esacpe stuff properly. Regex in Python? Make sure it's a raw string. Etc etc etc
It's a modern miracle we're at least within rhyming distance of how to write regexes in most tools.
[0]: https://www.gnu.org/software/emacs/manual/html_node/elisp/Rx...
Here are some of the [more popular][1] ones, and then there are PCRE and Python.
It took me a while to learn that some of the older ones you see in e.g. grep are [specified by POSIX][2].
[1]: https://cppreference.com/cpp/regex#Regular_expression_gramma...
[2]: https://pubs.opengroup.org/onlinepubs/009696899/basedefs/xbd...
https://json-schema.org/understanding-json-schema/reference/...
1. You can not compose a bigger regexp out of smaller ones
2. A regexp can not "call" other regexps
And I’d further bet that people who are casual about specifying that are relatively strongly correlated with people who are casual about santization, catastrophic backtracking, etc. (At least based on code I’ve seen over the decades.)
These already do not work in many tools which require those special characters to be escaped to have any meaning. An easy example is GNU grep, sed, etc. which use BRE ("Basic Regular Expressions") by default. The article mentions GNU coreutils but does not explain that `-E` is required to fix that behavior.