Enables Unicode-aware case folding.
When you use this as flag value to the compile() method along with the CASE_INSENSITIVE flag and if you search for Unicode characters using regular expressions Unicode characters of both cases will be matched.
Example
import java.util.regex.Matcher; import java.util.regex.Pattern; public class UNICODE_CASE_Example { public static void main( String args[] ) { String regex = "\u00de"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex, Pattern.UNICODE_CASE|Pattern.CASE_INSENSITIVE); //Retrieving the matcher object String str[] = {"\u00de", "\u00fe", "\u00ee", "\u00ce"}; for (String ele : str) { Matcher matcher = pattern.matcher(ele); if(matcher.matches()) { System.out.println(ele+" is a match for "+regex); } else { System.out.println(ele+" is not a match for "+regex); } } } }
Output
Þ is a match for Þ þ is a match for Þ î is not a match for Þ Î is not a match for Þ