It is well known that classical regexes recognize exactly regular languages. But in practice, many programming languages have extensions to the regex syntax which potentially broaden the field of recognized languages. (For example, recursive regexes, lookarounds, ...)

Are there any papers or is there literature that explore(s) which formal languages are recognized by the regex constructs in different programming languages (including extensions), maybe sorted after specific extensions added? Something like "classical regexes extended with lookarounds and recursive regexes recognize exactly context-free grammars. Proof: ..."

  • $\begingroup$ Extensions are also often about extracting or text in a string. So if the string is "we delivered 5 cups of coffee for \$1.40 each" you might not just want to know that it belongs to a language, but you might want to extract the "5", "cups of coffee" and "$1.40" from it. $\endgroup$
    – gnasher729
    Commented Aug 17, 2022 at 10:14
  • $\begingroup$ I think the only extensions which truly extend the power are back references. $\endgroup$
    – Pseudonym
    Commented Aug 17, 2022 at 10:27