黑马程序员技术交流社区

标题: 关于正则表达式的问题,急急急!!! [打印本页]

作者: 刘俊佳    时间: 2012-8-10 09:42
标题: 关于正则表达式的问题,急急急!!!
本帖最后由 刘俊佳 于 2012-8-10 09:43 编辑

下面是代码:
  1. public class Test2
  2. {
  3. public static void main(String[] args)
  4. {

  5. sop("fgh".matches("[a-z](3)"));

  6. sop("aaaa".matches("a?"));


  7. sop(" \n\r\t".matches("\\s(4)"));//
  8. }
  9. public static void sop(Object obj){
  10. System.out.println(obj);
  11. }

  12. }
复制代码
下面是在我的MyEclipse里面打印的结果:
false
false
false
sop("fgh".matches("[a-z](3)"));这行应该打印的是true吧?因为这里的意思是说从a到z之间的取三个字母,而f,g,h是属于这个
范围啊;sop("aaaa".matches("a?"));这行打印的到底是true还是false?有人能帮我解释一下这行的意思吗?因为我看到
一个老师的视频里打印的是true,而我在我的MyEclipse里打印的是false;
sop(" \n\r\t".matches("\\s(4)"));这行里面的\\s(4)的意思应该是4个空白字符,这里应该也是打印的true吧,为什么
我在MyEclipse里面打印出来是false?
邪了.....


作者: 胡刚涛    时间: 2012-8-10 09:59
public static void main(String[] args) {
  // TODO Auto-generated method stub
  
   
  sop("fgh".matches("[a-z]{3}"));//将()改为{}
  sop("aaaa".matches("a+"));

  sop(" \n\r\t".matches(\\s{4}));//将()改为{}
   
  }
   
  public static void sop(Object obj){
   
  System.out.println(obj);
   
  }

}
建议你可以编写正则表示式可以参考jdk帮助文档中的正则表达式

Greedy 数量词
X?X,一次或一次也没有
X*X,零次或多次
X+X,一次或多次
X{n}X,恰好 n
X{n,}X,至少 n
X{n,m}X,至少 n 次,但是不超过 m

作者: 刘俊佳    时间: 2012-8-10 10:27
胡刚涛 发表于 2012-8-10 09:59
public static void main(String[] args) {
  // TODO Auto-generated method stub
  

我按着你的方法然后再看帮组文档试试吧
作者: 刘俊佳    时间: 2012-8-14 08:46
胡刚涛 发表于 2012-8-10 09:59
public static void main(String[] args) {
  // TODO Auto-generated method stub
  

我按着你的方法把(改成{也出错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2