my @matches = ($string =~ /!#((?:[^#!]|#(?!!))*)#!/g );