Regular Expression Functions
----------------------------
These functions operate on regular expressions.
- Function: regexp-quote string
This function returns a regular expression whose only exact match
is STRING. Using this regular expression in `looking-at' will
succeed only if the next characters in the buffer are STRING;
using it in a search function will succeed if the text being
searched contains STRING.
This allows you to request an exact string match or search when
calling a function that wants a regular expression.
(regexp-quote "^The cat$")
=> "\\^The cat\\$"
One use of `regexp-quote' is to combine an exact string match with
context described as a regular expression. For example, this
searches for the string that is the value of STRING, surrounded by
whitespace:
(re-search-forward
(concat "\\s-" (regexp-quote string) "\\s-"))
- Function: regexp-opt strings &optional paren
This function returns an efficient regular expression that will
match any of the strings STRINGS. This is useful when you need to
make matching or searching as fast as possible--for example, for
Font Lock mode.
If the optional argument PAREN is non-`nil', then the returned
regular expression is always enclosed by at least one
parentheses-grouping construct.
This simplified definition of `regexp-opt' produces a regular
expression which is equivalent to the actual value (but not as
efficient):
(defun regexp-opt (strings paren)
(let ((open-paren (if paren "\\(" ""))
(close-paren (if paren "\\)" "")))
(concat open-paren
(mapconcat 'regexp-quote strings "\\|")
close-paren)))
- Function: regexp-opt-depth regexp
This function returns the total number of grouping constructs
(parenthesized expressions) in REGEXP.