 [semidet]re_matchsub(+Regex, 
+String, -Sub:dict)
[semidet]re_matchsub(+Regex, 
+String, -Sub:dict)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 /Flagsto Regex - see
re_match/3 for the list of flags. | 
| Regex | See re_match/2 for a description of this argument. |