There is a bug in Android's regular expression, specifically for negative lookahead patterns.
Official ticket was created and fixed in Android 2.2 (Froyo): http://code.google.com/p/android/issues/detail?id=17159
The solution:
(a) Do not use Android 2.1 if you need this; or
(b) Rebuild your regex without negative pattern (might get dirtier, but should work)