import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test { public static void main(String[] args) {
Pattern p = Pattern.compile("[a-z](3)");
Matcher m = p.matcher("efg");
p(m.matches());
}
public static void p(Object o){
System.out.println(o);
}
}应该输出true吧,视频上是这样的结果
我用Eclipse万年不变的false,怎么回事啊
难道我代码写错了吗
import java.util.regex.Pattern;
public class Test { public static void main(String[] args) {
Pattern p = Pattern.compile("[a-z](3)");
Matcher m = p.matcher("efg");
p(m.matches());
}
public static void p(Object o){
System.out.println(o);
}
}应该输出true吧,视频上是这样的结果
我用Eclipse万年不变的false,怎么回事啊
难道我代码写错了吗
改成这样试试 Pattern p = Pattern.compile("[a-z]{3}");
改成 Pattern p = Pattern.compile("[a-z]{3}");
小括号改成带括号啊,亲爱的楼主!
我简直想跪下来亲吻三位的脚趾~~~~~~
() 表示捕获组,符合语法规则,当然能编译通过比如楼主的正则"[a-z](3)",可以匹配“a3”,“x3”这样的单个字母后面跟3这样的字符串