Function: org-create-multibrace-regexp

org-create-multibrace-regexp is a byte-compiled function defined in org.el.gz.

Signature

(org-create-multibrace-regexp LEFT RIGHT N)

Documentation

Create a regular expression which will match a balanced sexp.

Opening delimiter is LEFT, and closing delimiter is RIGHT, both given as single character strings. The regexp returned will match the entire expression including the delimiters. It will also define a single group which contains the match except for the outermost delimiters. The maximum depth of stacked delimiters is N. Escaping delimiters is not possible.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-create-multibrace-regexp (left right n)
  "Create a regular expression which will match a balanced sexp.
Opening delimiter is LEFT, and closing delimiter is RIGHT, both given
as single character strings.
The regexp returned will match the entire expression including the
delimiters.  It will also define a single group which contains the
match except for the outermost delimiters.  The maximum depth of
stacked delimiters is N.  Escaping delimiters is not possible."
  (let* ((nothing (concat "[^" left right "]*?"))
	 (or "\\|")
	 (re nothing)
	 (next (concat "\\(?:" nothing left nothing right "\\)+" nothing)))
    (while (> n 1)
      (setq n (1- n)
	    re (concat re or next)
	    next (concat "\\(?:" nothing left next right "\\)+" nothing)))
    (concat left "\\(" re "\\)" right)))