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

Jacob Carlborg doob at me.com
Sat Feb 26 03:10:08 PST 2011


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");
}

I'm compiling this with DMD 2.052 on Mac OS X.

Full stack trace:

----------------
5   test                                0x00002356 void 
std.regex.Regex!(char).Regex.error(immutable(char)[]) + 126
6   test                                0x00007c1d int 
std.regex.Regex!(char).Regex.parseAtom!(const(immutable(char)[])).parseAtom(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 237
7   test                                0x0000772d int 
std.regex.Regex!(char).Regex.parsePiece!(const(immutable(char)[])).parsePiece(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 117
8   test                                0x000076b3 int 
std.regex.Regex!(char).Regex.parseRegex!(const(immutable(char)[])).parseRegex(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 431
9   test                                0x00007c88 int 
std.regex.Regex!(char).Regex.parseAtom!(const(immutable(char)[])).parseAtom(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 344
10  test                                0x0000772d int 
std.regex.Regex!(char).Regex.parsePiece!(const(immutable(char)[])).parsePiece(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 117
11  test                                0x000074ff int 
std.regex.Regex!(char).Regex.parseRegex!(immutable(char)[]).parseRegex(const(immutable(char)[]), 
ref uint, std.outbuffer.OutBuffer) + 431
12  test                                0x000072f2 void 
std.regex.Regex!(char).Regex.compile!(immutable(char)[]).compile(immutable(char)[], 
immutable(char)[]) + 370
13  test                                0x00007176 ref 
std.regex.Regex!(char).Regex 
std.regex.Regex!(char).Regex.__ctor!(immutable(char)[]).__ctor(immutable(char)[], 
immutable(char)[]) + 26
14  test                                0x000021f7 
std.regex.Regex!(char).Regex 
std.regex.regex!(immutable(char)[]).regex(immutable(char)[], 
immutable(char)[]) + 187
15  test                                0x00002138 _Dmain + 44
16  test                                0x0001b213 extern (C) int 
rt.dmain2.main(int, char**).void runMain() + 23
17  test                                0x0001b19a extern (C) int 
rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 38
18  test                                0x0001b25b extern (C) int 
rt.dmain2.main(int, char**).void runAll() + 59
19  test                                0x0001b19a extern (C) int 
rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 38
20  test                                0x0001b12b main + 179
21  test                                0x00002101 start + 53

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list