I think option number 4 comes pretty darn close to perfect.
Then again, I don't write python, so my vote probably doesn't count much ;). But option 4 guarantees that, for most uses, things will me matched as expected, and for the other uses, there is a way to document what needs to be done. It also avoids to a good extent the bad case of having non-regexp raw strings colored as regexps.
haris, your vote counts for 2 of anyone elses vote.