我試圖找到文本「箭」的所有匹配ASCII「箭」,所以在查找文本
"<----=====><==->>"
的箭頭是:
"<----", "=====>", "<==", "->", ">"
這工作:
String[] patterns = {"<=*", "<-*", "=*>", "-*>"};
for (String p : patterns) {
Matcher A = Pattern.compile(p).matcher(s);
while (A.find()) {
System.out.println(A.group());
}
}
但這並不:
String p = "<=*|<-*|=*>|-*>";
Matcher A = Pattern.compile(p).matcher(s);
while (A.find()) {
System.out.println(A.group());
}
不知道爲什麼。它經常報告"<"
而不是"<===="
或類似的。
出了什麼問題?
你的第二個例子是否曾經做過任何事情?由於`patterns`爲空,`for`循環永遠不會運行。 – RichieHindle 2009-07-25 21:13:06
第二個例子甚至不會編譯。你有兩個引用不同類型的「p」變量。 ;-) – 2009-07-25 21:13:56
試試這個「[-|=]*>?」 – UnkwnTech 2009-07-25 21:14:56