rx

Homepage: https://www.gnu.org/software/emacs

Summary

S-exp notation for regexps -

Commentary

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.

Reverse dependencies