From: Douglas Gregor (gregod_at_[hidden])
Date: 2001-07-26 21:37:23


On Thursday 26 July 2001 07:44, you wrote:
> John Maddock wrote:
> > boost success = mystring >> myregex
> > std::string s = mystring >> myregex/myformat
>
> I'd have thought that
>
> regex / string
>
> should yield an iterator into the match groups container:
>
> for(g = regex / string; g++; g) {
> cout << "group = " << *g << endl;
> }
>
> and hence
>
> if(regex/string)...
>
>
> works because it yields a 'null' iterator if the comparison fails.
> To substitute the groups into the format string:
>
> (regex/string) >> format
>
> to reference group 3:
>
> (regex/string)[3]
>
>
> Another possibility is just:
>
> m = regex/string;
> for (g = m.begin(); g++; m.end()) ..
>
>
> ie. regex/string is a standard container supporting
> random iterators.

Very interesting... I think this would be a reasonable addition, though at
some point we're getting past the original intention of the 'perlish' syntax:
a concise (somewhat familiar) syntax for simple pattern matching tasks.

Though I do wonder at what point we've gone too far in the abuse of operator
overloading.

        Doug