Is str ~ regex the root of all evil, or the leaf of all good?
Christopher Wright
dhasenan at gmail.com
Thu Feb 19 15:19:55 PST 2009
Denis Koroskin 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?
> }
Your first example was:
auto match (char[] source, char[] pattern, char[] options);
Your second example was:
auto match (char[] source, regex expression);
The second is good, but more typing than you said originally. The first
is problematic.
More information about the Digitalmars-d
mailing list