Introduced in 10.1, fixed in 10.2; fixed via paclet update in 10.1.
The new version 10.1 has introduced some strange (possibly buggy) behaviour compared to v10.0:
StringCases["1472", Except["0", DigitCharacter]] (* v10.0 *) {"1","4","7","2"} (* v10.1 *) {"1"}
Since StringCases["1472", DigitCharacter] returns {"1","4","7","2"} (all the characters) I would expect the same for an Except[char] pattern.
StringCases["1472", Except["0", DigitCharacter] ~~ "0" ... ~~ EndOfString] (* v10.0 *) {"2"} (* v10.1 *) {}
Further examples (thanks to Michael Hale):
StringReplace["1a2b3c4", Except["a", LetterCharacter] .. -> ""] (* ==> "1a2b3c4" *) though even the documentation of Except says it should be: "1a234" (this should be the correct output).
StringCases["104702", Except["0", DigitCharacter]] (* ==> {"1", "4", "2"} *) Furthermore, ToTitleCase removes all non-alphanumeric characters (except whitespace):
ToTitleCase["abcd,<>/-_=+~!@#$%&*(){}[];': end...?"] (* ==> "Abcd End" *) which is probably unwanted and is definitely undocumented.
(Filed it to TechSupport, will report back if they say anything.)
2015-07-29: ToTitleCase is not available anymore in version 10.2 (it was experimental).
StringPattern`PatternConvert[Except["0", DigitCharacter]]gives a different result in 10.1.0. This is the place to look to find out why it happens. I don't have time to look up all the various bits needed to understand what the actual regexes do ... $\endgroup$