Professor Roberto Ierusalimschy (creator of Lua), was bothered by the problems of regex deviating from (real) regular expressions, like how captures create non-determinism, back references make pattern matching algorithms NP complete, no formally defined performance model, and so on. This led him to revisit prior research on PEGs (Parseable Expression Grammars) which are akin to Context-Free Grammars. He created a library called LPeg which was a PEG for Lua.
So he basically realized people were hacking regular expressions to get more power. So rather than playing that game, he climbed up a level on the automata ladder to get a more mathematically sound approach to the problem.
He gave a talk about all this which can be found here: https://vimeo.com/1485123
So he basically realized people were hacking regular expressions to get more power. So rather than playing that game, he climbed up a level on the automata ladder to get a more mathematically sound approach to the problem.