6.17 ネストされている文字列に対して、マッチングを行う
関数呼び出しの引数など、デリミタで囲まれているネストされた文字列に対して、マッチングを行いたい。
マッチング時にパターンを展開して再起的に処理を行う。
my $np; $np = qr{ \( (?: (?> [^()]+ ) # バックトラックを行わない非格納括弧でグループ化 | (??{ $np }) # マッチング用丸括弧でグループ化 )* \) }x;
関数呼び出しの引数など、デリミタで囲まれているネストされた文字列に対して、マッチングを行いたい。
マッチング時にパターンを展開して再起的に処理を行う。
my $np; $np = qr{ \( (?: (?> [^()]+ ) # バックトラックを行わない非格納括弧でグループ化 | (??{ $np }) # マッチング用丸括弧でグループ化 )* \) }x;