You probably want this:
Code:
YOU try to (slash|crush|pierce)(?:(?! with).)+?, but .*(miss|deflects|parries|blocks|dodges|ripostes)\.
It's fairly inefficient, though.
edit
Code:
YOU try to (slash|crush|pierce)(?:(?! with).)+?, but .*(misses|miss|deflects|parries|blocks|dodges|ripostes)\.
Need to add in 'misses' if you want to capture missed double attacks as well.