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 (see non-greedy). This is because POSIX backtracking conflicts with the semantics of non-greedy repetition.
This is like re-search-forward
except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
This is like re-search-backward
except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
This is like looking-at
except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
This is like string-match
except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.