Name: bsT130419 Date: 09/19/2001
java version "1.4.0-beta2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta2-b77)
Java HotSpot(TM) Client VM (build 1.4.0-beta2-b77, mixed mode)
The combination of CASE_INSENSITIVE | UNICODE_CASE causes an incorrect match.
======= Test Code ========
import java.util.regex.*;
public class Test
{
public static void main(String args[])
{
Pattern p1 = Pattern.compile("aa",(Pattern.CASE_INSENSITIVE) | (Pattern.UNICODE_CASE));
Matcher m1 = p1.matcher("ab");
System.out.println("Pattern=\"aa\" CASE_INSENSITIVE | UNICODE_CASE; String=\"ab\" => match="+m1.matches());
Pattern p2 = Pattern.compile("aa",Pattern.CASE_INSENSITIVE);
Matcher m2 = p2.matcher("ab");
System.out.println("Pattern=\"aa\" CASE_INSENSITIVE; String=\"ab\" => match="+m2.matches());
Pattern p3 = Pattern.compile("aa",Pattern.UNICODE_CASE);
Matcher m3 = p3.matcher("ab");
System.out.println("Pattern=\"aa\" CASE_INSENSITIVE; String=\"ab\" => match="+m3.matches());
Pattern p4 = Pattern.compile("aa",(Pattern.UNICODE_CASE | Pattern.DOTALL));
Matcher m4 = p4.matcher("ab");
System.out.println("Pattern=\"aa\" CASE_INSENSITIVE | DOTALL; String=\"ab\" => match="+m4.matches());
}
}
(Review ID: 132166)
======================================================================