Problem with std.regex: *+? not allowed in atom

Jacob Carlborg doob at me.com
Sat Feb 26 08:52:58 PST 2011


On 2011-02-26 12:29, Dmitry Olshansky wrote:
> On 26.02.2011 14:10, Jacob Carlborg wrote:
>> I'm trying to use the std.regex module but when I run my application I
>> get an exception. The exception message says:
>>
>> *+? not allowed in atom
>>
>> The code I have is:
>>
>> import std.regex;
>>
>> void main ()
>> {
>> regex(`\.(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))`, "m");
>> }
>
> Well the thing is, std.regex is not quite ECMA complaint (as vaguely
> stated in docs). To the best of my knowledge not a single one variant of
> the forms (?:...) ... (?=...) is supported . Also see
> http://d.puremagic.com/issues/show_bug.cgi?id=5169, you may try out my
> patch there to support (?:...). It's a slightly outdated, but std.regex
> wasn't in very active development.

I tried the patch but with no success. I still get the same error.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list