p("\\".matches("\\\\"));
在java中\表示转义字符,"\\"表示一个\而正则表达式中"\\"表示一个\想要匹配java中的"\\"则必须用"\\\\"
再看这些
Pattern p = Pattern.compile("\\d{3,5}");
String s = "123-34345-234-00";
Matcher m = p.matcher(s);
p(m.matches());
m.reset();
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
当m.matches()之后,如果不m.reset();那么m.matches()会吃掉“123—”然后第一个m.find()就是34345。所以要注意设置m.reset()。
在java中\表示转义字符,"\\"表示一个\而正则表达式中"\\"表示一个\想要匹配java中的"\\"则必须用"\\\\"
再看这些
Pattern p = Pattern.compile("\\d{3,5}");
String s = "123-34345-234-00";
Matcher m = p.matcher(s);
p(m.matches());
m.reset();
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
当m.matches()之后,如果不m.reset();那么m.matches()会吃掉“123—”然后第一个m.find()就是34345。所以要注意设置m.reset()。