Another patch: I recently had the cabinet of Dr. Limpieza as my monster and the regex failed, because it was looking for (a|an|some), and "the" tripped it up. As such, here's the new regex that worked:
matcher m = create_matcher("Cast ([^,]+), once per fight, against (a|an|some|the)? (.+)...