Regex problem

seany via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Jun 27 08:59:47 PDT 2014


Cosider this:

ulong regexChk(string haystack, string needle)
{

// haystack and needle are okey


     auto r = regex(needle, "g");
     auto m = match(haystack, r);

     // up to here is all fine

     return m.hit().count();
}

I want to count the numbers needles is mathced in haystack

But I get the error :



core.exception.AssertError at std.regex(5587): Assertion failure
----------------
./niarbyl(_d_assertm+0x26) [0x4e6c26]
./niarbyl() [0x4f45be]
./niarbyl(pure nothrow @property @trusted immutable(char)[] 
std.regex.Captures!(immutable(char)[], 
ulong).Captures.hit()+0x61) [0x4c8af1]
./niarbyl(pure nothrow @property @trusted immutable(char)[] 
std.regex.__T10RegexMatchTAyaS273std5regex15ThompsonMatcherZ.RegexMatch.hit()+0x59) 
[0x4c7089]
./niarbyl(ulong niarbyl.regexChk(immutable(char)[], 
immutable(char)[])+0x87) [0x4ac85f]
./niarbyl(void niarbyl.setGrammarApllicability()+0x3e3) [0x4accbb]
./niarbyl(_Dmain+0x95) [0x4acd9d]
./niarbyl(void rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).runAll().void __lambda1()+0x18) [0x4eab9c]
./niarbyl(void rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate())+0x2a) 
[0x4eaaf6]
./niarbyl(void rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).runAll()+0x30) [0x4eab5c]
./niarbyl(void rt.dmain2._d_run_main(int, char**, extern (C) int 
function(char[][])*).tryExec(scope void delegate())+0x2a) 
[0x4eaaf6]
./niarbyl(_d_run_main+0x1a3) [0x4eaa77]
./niarbyl(main+0x17) [0x4dab0f]
/usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7fe35eb43000]


I dont quite understand. I must be doing some rooki mistake. Help?


More information about the Digitalmars-d-learn mailing list