in reply to In search of an efficient query abstractor
The regexes do a lot of backtracking and stuff.
Which one? I don't see anywhere that backtracking could occur. Everything there's a choice, only one path can possibly match.
$query =~ s{ (?<![\w.+-]) [+-]? (?: \d+ (?:[.]\d*)? |[.]\d+ ) (?:e[+-]?\d+)? \b } {N}gx; # Float/real into N
The trailing \b is buggy.
"12345 " -> "N " "12345. " -> "N. "
It matched "12345." until the "\b" was reached, then it backtracked to release the "." from the match. Oops, I guess there is backtracking, but only because of the bug.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: In search of an efficient query abstractor
by xaprb (Scribe) on Dec 07, 2008 at 20:36 UTC | |
by Corion (Patriarch) on Dec 07, 2008 at 20:50 UTC | |
by xaprb (Scribe) on Dec 08, 2008 at 01:19 UTC | |
by ikegami (Patriarch) on Dec 07, 2008 at 20:46 UTC | |
by xaprb (Scribe) on Dec 07, 2008 at 20:57 UTC | |
|
Re^2: In search of an efficient query abstractor
by xaprb (Scribe) on Dec 07, 2008 at 21:00 UTC |