Bazı jdk kodlarına bakıyordum. Bu karakterleri buldum. Birisi bana bunun ne anlama geldiğini açıklayabilir. Ben yönteminde olduğu gibi neler olduğunu anlamaya başardı yukarıdaki kod örneğinde itibaren Java'da bu özel karakterler ne anlama geliyor?
public static String quote(String s) {
int slashEIndex = s.indexOf("\\E"); // What does this mean. Is this a special char in java. if so what does this do.
if (slashEIndex == -1)
return "\\Q" + s + "\\E";
StringBuilder sb = new StringBuilder(s.length() * 2);
sb.append("\\Q");
slashEIndex = 0;
int current = 0;
while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
sb.append(s.substring(current, slashEIndex));
current = slashEIndex + 2;
sb.append("\\E\\\\E\\Q");
}
sb.append(s.substring(current, s.length()));
sb.append("\\E");
return sb.toString();
}
\ tekrarlarını bulur ve E ve \ Q \ dönüştürür. Birisi bunun neden böyle olduğunu açıklayabilir. Bu yöntemle ilgili daha fazla içerik için
, ben
En ait ... jdk 1.6
[Java kaynaklardan düz kaldırdı] edilecek (http://www.docjar.com/html/api/java: Daha fazla ayrıntı için
bu bağlantıya bakın /util/regex/Pattern.java.html) ("Pattern.java", satır 1276..1293). – dasblinkenlight
Evet, jdk kaynakları Pattern.java'dan geliyor – JourneyMan