Find: (?<=\b\p{Lu})([^\s]+)(?=[^<>]*</h2>)
Replace: \L\1\E
Will pretty much title case anything between <h2></h2>.
It probably won't work if you have embedded <span>, <b>, <i>, or <br /> stuff between the <h2> tags, but other than that, it's fairly fool-proof.
EDIT: Fool-proof for stuff that's ALL CAPS to begin with, that is.