:- use_module(library(pcre)).(can be autoloaded)
regex(see blob/2). Defined Options are defined below. Please consult the PCRE documentation for details.
- Force pattern anchoring
\R only matches CR, LF or CRLF. If
\R matches all Unicode line endings.
true, do caseless matching.
true, $ not to match newline at end
true, . matches anything including NL
true, allow duplicate names for subpatterns
true, ignore white space and # comments
true, PCRE extra features (not much use currently)
true, force matching to be before newline
^and $ match newlines within data
any, recognize any Unicode newline sequence, if
anycrlf(default), recognize CR, LF, and CRLF as newline sequences, if
cr, recognize CR, if
lf, recognize LF and finally if
crlfrecognize CRLF as newline.
true, use Unicode properties for
true, invert greediness of quantifiers
In addition to the options above that directly map to pcre flags the following options are processed:
true, study the regular expression.
- How to return the matched part of the input and possibly captured groups
in there. Possible values are:
- Return the captured string as a string (default).
- Return the captured string as an atom.
- Return the captured string as a pair
Start-Length. Note the we use
Start-Length` rather than the more conventional
Start-Endto allow for immediate use with sub_atom/5 and sub_string/5.
- Parse the captured string as a Prolog term. This is notably practical if you capture a number.
capture_type specifies the default for this pattern.
The interface supports a different type for each named group
using the syntax
is one of
T (term) and
R (range). In the
are synonyms for
T. Future versions may act different if
the parsed value is not of the requested numeric type.