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 :



[email protected](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?
  • Regex problem seany via Digitalmars-d-learn

Reply via email to