?- re_match("^needle"/i, "Needle in a haystack"). true.
Defined Options are given below. For details, see the PCRE
documentation. If an option is repeated, the first value is used
and subsequent values are ignored. Unrecognized options are
ignored. Unless otherwise specified, boolean options default to
false
.
If Regex is a text pattern (optionally with flags), then any of the Options for re_compile/3 can be used, in addition to the Options listed below. If Regex is the result of re_compile/3, then only the following execution-time Options are recognized and any others are ignored. Some options may not exist on your system, depending on the PCRE2 version and how it was built - these unsupported options are silently ignored.
start(From)
Start at the given character indexanchored(Bool)
If true
, match only at the first positionbol(Bool)
String is the beginning of a line (default true
) -
affects behavior of circumflex metacharacter (^
).empty(Bool)
An empty string is a valid match (default true
)empty_atstart(Bool)
An empty string at the start of the subject is a valid match
(default true
)eol(Bool)
String is the end of a line -
affects behavior of dollar metacharacter ($
)
(default true
).newline(Mode)
If any
, recognize any Unicode newline sequence,
if anycrlf
, recognize CR, LF, and CRLF as newline
sequences, if cr
, recognize CR, if lf
, recognize
LF, if crlf
recognize CRLF as newline.
The default is determined by how PCRE was built, and
can be found by re_config(newline2(NewlineDefault))
.newline2(Mode)
- synonym for newline(Mode)
.utf_check(Bool)
- see PCRE2 API documentation
You should not need this because SWI-Prolog ensures that the UTF8 strings are valid,
so the default is false
.endanchored(Bool)
- see PCRE2 API documentationpartial_soft(Bool)
- see PCRE2 API documentationpartial_hard(Bool)
- see PCRE2 API documentationdfa_restart(Bool)
- see PCRE2 API documentationdfa_shortest(Bool)
- see PCRE2 API documentationRegex | - is the output of re_compile/3, a pattern or a term
Pattern/Flags, where Pattern is an atom or string. The defined flags
and their related option for re_compile/3 are below.
If Regex is the output of re_compile/3, any compile-time options in Options or Flags are ignored and only match-time options are used.
The options that are derived from flags take precedence over the
options in the Options list. In the case of conflicting flags, the
first one is used (e.g., |