bu programı düşünün: n üst durum versiyonu olduğu içinJava küçük harf duyarsız regex eşleştirme çalışmıyor ile yazmak Ñ
import java.util.regex.Pattern;
public class xx {
/*
* Ñ
* LATIN CAPITAL LETTER N WITH TILDE
* Unicode: U+00D1, UTF-8: C3 91
*/
public static final String BIG_N = "\u00d1";
/*
* ñ
* LATIN SMALL LETTER N WITH TILDE
* Unicode: U+00F1, UTF-8: C3 B1
*/
public static final String LITTLE_N = "\u00f1";
public static void main(String[] args) throws Exception {
System.out.println(BIG_N.equalsIgnoreCase(LITTLE_N));
System.out.println(Pattern.compile(BIG_N, Pattern.CASE_INSENSITIVE).matcher(LITTLE_N).matches());
}
}
, Yazdırmanıza bunu beklenebilir:
true
true
ama aslında baskılar (java 1.7.0_17-b02) ne:
true
false
Neden?
D'oh! Eski ABD-ASCII çirkin kafasını yeniden canlandırıyor. Teşekkürler! – Archie
Teşekkürler. Daha önce denedim ama çok erken oldu. Sonra akşam yemeği yemek zamanıydı. Taco gecesi. – Archie