Moimon.
Deine Regexpe sehen gut aus und tun bei mir auch genau das erwünschte. Auch unter Safari 3.1 / XP.
Um dem bei Dir auftretenden Verhalten näher zu kommen, würde ich zunächst mal nen Match Regexp aufbauen und auf nen Teststring anwenden...
Oder von nem Teststring mal per charCodeAt Vergleichswerte ausgeben lassen...
Grüße