Match String against Regex. On success, Sub
is a dict containing integer keys for the numbered capture group and
atom keys for the named capture groups. The entire match string has the
key 0
. The associated value is determined by the capture_type(Type)
option passed to re_compile/3,
or by flags if Regex is of the form Pattern/Flags; and may be
specified at the level of individual captures using a naming convention
for the caption name. See
re_compile/3 for details.
The example below exploits the typed groups to parse a date
specification:
?- re_matchsub("(?<date> (?<year_I>(?:\\d\\d)?\\d\\d) -
(?<month_I>\\d\\d) - (?<day_I>\\d\\d) )"/x,
"2017-04-20", Sub, []).
Sub = re_match{0:"2017-04-20", date:"2017-04-20",
day:20, month:4, year:2017}.
Both | compilation and execution options are
processed. See
re_compile/3 and re_match/3
for the set of options. In addition, some compilation options may passed
as /Flags to Regex - see
re_match/3 for the list of flags. |
Regex | See re_match/2
for a description of this argument. |