NAME
Regexp::Trie - builds trie-ized regexp
SYNOPSIS
use Regexp::Trie;
my $rt = Regexp::Trie->new;
for (qw/foobar fooxar foozap fooza/){
$rt->add($_);
}
print $rt->regexp, "\n" # (?-xism:foo(?:bar|xar|zap?))
DESCRIPTION
This module is a faster but simpler version of Regexp::Assemble or Regexp::Optimizer. It builds a trie-ized regexp as above.
This module is faster than Regexp::Assemble but you can only add literals. a+b
is treated as a\+b
, not "more than one a's followed by b".
I wrote this module because I needed something faster than Regexp::Assemble and Regexp::Optimizer. If you need more minute control, use those instead.
TIPS
See t/dict2rx.pl to find how to convert a big dictionary into a single regexp that can be later loaded as:
my $rx = do 'dict.rx';
EXPORT
None.
SEE ALSO
Regexp::Optimizer, Regexp::Assemble, Regex::PreSuf
AUTHOR
Dan Kogai, <dankogai@dan.co.jp>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Dan Kogai
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.