PukiWikiのプラグインの正規表現(2)

PukiWikiのプラグインの正規表現 - koba::blogは、正しくないソースに対してものすごく時間がかかる場合があるので修正。

my $plugin_regex;
$plugin_regex
    = qr/
            &\w+
            (?: \( (?>[^\)]+) \) )?
            (?: { (?: (??{$plugin_regex}) | (?>[^&}]*) )+ } )?
            ;
        /x;

「アトミックなグループ」を使ってみた。