Well, even the regulating pieces of Perl's "regular expressions" are far from regular in any sense of the precise definition. The name just (incorrectly) stuck. (Recent Camels talk of "pattern matching"; I prefer that term too.) Finally, you also forget
(??{ code }), which can both alter the string as well as regulate the match in procession.
Makeshifts last the longest.