Is str ~ regex the root of all evil, or the leaf of all good?

Simen Kjaeraas simen.kjaras at gmail.com
Thu Feb 19 06:24:33 PST 2009


On Thu, 19 Feb 2009 14:34:30 +0100, Denis Koroskin <2korden at gmail.com> wrote:

> On Thu, 19 Feb 2009 15:00:42 +0300, Christopher Wright  
> <dhasenan at gmail.com> wrote:
>
>> Denis Koroskin wrote:
>>> "abracazoo".match("a[b-e]", "g") is as short as "abracazoo" ~  
>>> regex("a[b-e]", "g") but doesn't existing conventions. I prefer it  
>>> over '~' version. In is also fine (both ways).
>>
>> This isn't so good for two reasons.
>> First, I can't reuse regexes in your way, so if there is any expensive  
>> initialization, that is duplicated.
>>
>> Second, I can't reuse regexes in your way, so I have to use a pair of  
>> string constants.
>
> auto re = regex("a[b-e]", "g");
> foreach (e; "abracazoo".match(re)) {
>      // what's wrong with that?
> }

This:

auto re = regex("a[b-e]", "g");
foreach (e; "abracazoo" / re) {
}

--
Simen



More information about the Digitalmars-d mailing list