Okay, I know there's much controversy with matching and parsing HTML within a RegEx, but I was wondering if I could have some help. [Case and Point.](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)

I need to match any punctuation characters e.g `. , " '` but I don't want to ruin any HTML, so ideally it should occur between a `>` and a `<` - essentially my query isn't so much about parsing HTML, as avoiding it.

I'm going to attempt to replace wrap each instance in a `<span></span>` - but having absolutely no experience in RegEx, I'm not sure I'm able to do it.

I've figured character sets `[\.\,\'\"\?\!]` but I'm not sure how to match character sets that only occur between certain characters. Can anybody help?