我试图找到文本“箭”的所有匹配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