I guess it's not a needful thing, but in case some other person wants to do something similar, I'm starting to look at this from a different direction. Instead of working with the <i>/</i> pair and the text in between, I've decided to look for the whitespace between adjacent italicized paragraphs:
Code:
find: </i>([\.\?]?</p>\s+?<p[^>]*>)<i>
replace: \1
I'm assuming if there are consecutive entire paragraphs italicized, there's probably some kind of semantic block involved. Once I find the start of such a block, I can remove the intervening </i> and <i> pairs with "Replace and Find" and leave only the single starting and ending pair. I can probably work with that more easily.