- re_matchsub(+Regex, +String, -Sub:dict) is semidet
- re_matchsub(+Regex, +String, -Sub:dict, +Options) is semidet
- 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 thecapture_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}.
- Arguments:
-
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.