Why is this regex not working on java 7?

How is the answer from How to determine if a character is a letter in Java? I used the code snippet below to match if the string contains the Unicode letter or not at the beginning. It worked great on java 6, where the Unicode character \ u0374 was not considered unicode lettter

 boolean test = "\u0374100".matches("[\\p{L}].*");; returns true on java 7 whereas it return false java 6.

Was there any change in java 7 regarding this perspective? If so, how do java 6 things work with java 7?

+4
source share
1 answer

Fileformat.Info: Unicode Character 'GREEK NUMERAL SIGN' (U + 0374), " , [Lm]". , Character.isLetter() .

Unicode Character 'GREEK LOWER NUMERAL SIGN' (U + 0375), " , [Sk]". Character.isLetter() .

Java 7 Unicode 6.0.0 Character javadoc Java SE 7, Java 6 Unicode 4.0 (. javadoc Java Language Specification 5.0 ( Java 5 6)).

, unicode U + 0374 "Letter, Modifier". Unicode 4.0.0 Unicode 6.0.0 , Sk Lm:

4.0:

0374, Sk; 0; ON; 02B9;;;; N; GREEK UPPER NUMERAL SIGN; Dexia keraia;;;

6.0.0:

0374, Lm; 0; ON; 02B9;;;; N; GREEK UPPER NUMERAL SIGN;;;;

: , , , .

+3

All Articles