我正在學習使用Java的模式和匹配器,這是我書中的示例代碼片段。它按照作者的描述工作,但我沒有得到的是爲什麼\\.
最終成爲一個點而不是反斜槓(\\部分)和一個點(。部分)。編譯器是否從左向右讀取?爲什麼在這個正則表達式中\沒有解釋爲黑色的?
import java.util.regex.*;
public class SplitTest {
public static void main(String[] args) {
String input= "www.cs.cornell.edu";
Pattern p = Pattern.compile("\\.");
String pieces[] = p.split(input);
for (int i=0; i<pieces.length; i++){
System.out.println(pieces[i]);
}
}
}
哦。咄! * facepalm *謝謝! – 2010-09-04 00:22:52
這就是Java需要像其他語言一樣使用Regex支持的原因,它不會使用引號,而是使用'/\./'。 – alternative 2010-09-04 00:25:17
Java需要像.NET語言那樣的@string。它不會破壞註釋語法。 – 2010-09-04 00:28:10