Boost Users :
From: Eugene M. Kim (gene_at_[hidden])
Date: 2008-02-11 21:08:31
Renato golin wrote:
> Eugene M. Kim wrote:
>> I am looking for a way to feed the input bytes only once, in order to
>> reduce the time complexity to approximately O(n). Of course I will lose
>> the ability to recover submatches, but the ability is unnecessary for
>> this particular application that I am considering. I cannot break the
>> regex into two parts ("omg" and "wtf") either because it is specified as
>> an input to the program.
> It may sound silly but what if you pre-process the input splitting it by
> ".*" and do an AND match for all sub-strings?
> input = "omg.*wtf" => input = "omg", "wtf";
> return (regexp_match(input) && regexp_match(input));
> PS: of course the code above is pseudo-code and of course you'll take as
> many input parameters as available and not hard-coded like this.
That would work for simple cases where the two sub-patterns are
separated by ".*", but fail for other non-trivial expressions such as
"omg(bbq|cakes)*wtf", which the program must also be able to accept. ;_;
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net