Homepage: https://www.gnu.org/software/emacs
S-exp notation for regexps -
This facility allows writing regexps in a sexp-based language instead of strings. Regexps in the `rx' notation are easier to read, write and maintain; they can be indented and commented in a natural way, and are easily composed by program code. The translation to string regexp is done by a macro and does not incur any extra processing during run time. Example: (rx bos (or (not (any "^")) (seq "^" (or " *" "[")))) => "\\`\\(?:[^^]\\|\\^\\(?: \\*\\|\\[\\)\\)" The notation is much influenced by and retains some compatibility with Olin Shivers's SRE, with concessions to Emacs regexp peculiarities, and the older Emacs package Sregex.