rendered paste bodystatic std::string regexStrings[16];
static pcrecpp::Arg regexCaptures[16] =
{
®exStrings[0],®exStrings[1],®exStrings[2],®exStrings[3],
®exStrings[4],®exStrings[5],®exStrings[6],®exStrings[7],
®exStrings[8],®exStrings[9],®exStrings[10],®exStrings[11],
®exStrings[12],®exStrings[13],®exStrings[14],®exStrings[15]
};
static const pcrecpp::Arg* regexCapturesArray[16] =
{
®exCaptures[0],®exCaptures[1],®exCaptures[2],®exCaptures[3],
®exCaptures[4],®exCaptures[5],®exCaptures[6],®exCaptures[7],
®exCaptures[8],®exCaptures[9],®exCaptures[10],®exCaptures[11],
®exCaptures[12],®exCaptures[13],®exCaptures[14],®exCaptures[15]
};
pcrecpp::RE regex(subfield, PCRE_CASELESS);
int consumed;
int numArgs = regex.NumberOfCapturingGroups();
if (numArgs > 16)
numArgs = 16;
if (numArgs < 0)
{
ScriptEngineReportError(thread, false, "bad regular expression: 'regex(%s)'", subfield);
strcpy(str, "0");
}
else if (!regex.DoMatch(var, pcrecpp::RE::UNANCHORED, &consumed, regexCapturesArray, numArgs))
strcpy(str, "0");
else
{
strcpy(str, "1");
for (int i = 0; i < numArgs; ++i)
{
sprintf(END_OF(str), "\t%s", regexStrings[i].c_str());
}
}