std.regex named matches

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Feb 20 00:34:45 PST 2012


08.02.2012 13:07, James Miller пишет:
> Hi,
>
> I am using std.regex and using the named matches. I would like to be
> able to get at the names that have matched, since this is library
> code.
>
> e.g.
>
>      auto m = match("test/2", regex(r"(?P<word>\w+)/(?P<num>\d)"));
>      //either
>      auto names = m.names;
>      //or
>      auto names = m.captures.names;
>
> or something similar. I've looked at the library and I can't find
> anything of the sort, and you can't even use `foreach` to get at them
> that way, I'm guessing because you can have both integer and string
> indexes for the matches.
>

I know this is two weeks old, but you can do foreach on them:
foreach(c; m.captures){
	//c is each captured group in turn, the first one is the whole match
}

> Thanks
>
> James Miller



More information about the Digitalmars-d-learn mailing list