elisp: POSIX Regexps

 
 33.5 POSIX Regular Expression Searching
 =======================================
 
 The usual regular expression functions do backtracking when necessary to
 handle the ‘\|’ and repetition constructs, but they continue this only
 until they find _some_ match.  Then they succeed and report the first
 match found.
 
    This section describes alternative search functions which perform the
 full backtracking specified by the POSIX standard for regular expression
 matching.  They continue backtracking until they have tried all
 possibilities and found all matches, so they can report the longest
 match, as required by POSIX.  This is much slower, so use these
 functions only when you really need the longest match.
 
    The POSIX search and match functions do not properly support the
 non-greedy repetition operators (Seenon-greedy Regexp Special.).
 This is because POSIX backtracking conflicts with the semantics of
 non-greedy repetition.
 
  -- Command: posix-search-forward regexp &optional limit noerror count
      This is like ‘re-search-forward’ except that it performs the full
      backtracking specified by the POSIX standard for regular expression
      matching.
 
  -- Command: posix-search-backward regexp &optional limit noerror count
      This is like ‘re-search-backward’ except that it performs the full
      backtracking specified by the POSIX standard for regular expression
      matching.
 
  -- Function: posix-looking-at regexp
      This is like ‘looking-at’ except that it performs the full
      backtracking specified by the POSIX standard for regular expression
      matching.
 
  -- Function: posix-string-match regexp string &optional start
      This is like ‘string-match’ except that it performs the full
      backtracking specified by the POSIX standard for regular expression
      matching.