Example #1
0
String2DArray RegEx::PregMatchAll(const std::string& InputSource)
{
    StringArray Temp;
    String2DArray Result;
    Result.SetLength(1);

    boost::sregex_iterator I(InputSource.begin(), InputSource.end(), RegExpression), J;
    while(I != J)
    {
		for (size_t K = 0; K <= I->size(); ++K)
		{
			if(!I->str(K).empty())
                Temp(I->str(K));
		}
		++I;
    }

    for (size_t K = 0; K < Temp.Size(); K += 2)
		Result[0](Temp[K]);

    if (Temp.Size() > 1)
    {
        Result.SetLength(2);
        for (size_t K = 1; K < Temp.Size(); K += 2)
            Result[1](Temp[K]);
    }

    return Result;
}
Example #2
0
int main ()
{
  printf ("Results of regexp3_test:\n");

  const char* pattern = "dynamic *\\( *([[:digit:]]*) *, *([[:digit:]]*) *, *'(.*)' *\\).*";
  const char* str     = "dynamic (256 , 512,'test_query')???";

  StringArray tokens = parse (str,pattern);

  printf ("parse '%s' (pattern='%s') on %lu tokens:\n", str,pattern,tokens.Size ());

  for (size_t i=0;i<tokens.Size ();i++)
    printf ("    '%s'\n",tokens [i]);

  return 0;
}