(?= (??{ qr!.{$a[2][0]}! }) ( # start $2 (?= (??{ qr!.{${\($a[3][0]-$a[2][0])}}! }) ((??{ qr!.{$a[3][1]}! })) ) # $3 nested (??{ qr!.{$a[2][1]}! }) ) # $2 ended )