C++ fast alternative to backtracking RE engines