あげいん
$ cat regex.pl $query = "b" x (1024 * 1024) . "x"; $pat = '^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b$'; print ($query =~ $pat ? "yes\n" : "no\n"); $ $ time perl regex.pl no real 0m0.009s user 0m0.004s sys 0m0.005s
超速い。Perl すごい!
おもむろに、パターンの最後の b を [b] に変えてみる。
$ cat regex2.pl $query = "b" x (1024 * 1024) . "x"; $pat = '^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*[b]$'; print ($query =~ $pat ? "yes\n" : "no\n"); $ $ time perl regex2.pl ^C real 60m0.461s user 59m47.757s sys 0m3.055s
超遅い。Perl すごい!
【追記】5.10.0 版(?)
^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*[ab]$
^b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b.*b(?:.*b|.*b)$