0

使用 perl 的 Regexp::Optimizer 可以实现

use Regexp::Optimizer;
my $o  = Regexp::Optimizer->new->optimize(qr/foobar|fooxar|foozap/);
# $re is now qr/foo(?:[bx]ar|zap)/

通过在未找到公共前缀(在本例中为“foo”)时不继续匹配,可以获得很好的性能,因为常见的正则表达式引擎是 NFA。我想知道 java 世界是否有对应的 Regexp::Optimizer?

4

0 回答 0