$string =~ / ( HIT (?= [^<]* (?! ]*> ) .*?<\/a> ) .*?<\/a> ) /x; #### '--HIT-- 2' #### '--HIT--- 2'