public static void main(String[] args) {
boolean b = isNumeric("aaaaaaabbbbbbbbbb[1]");
System.out.println(b);
}

public static boolean isNumeric(String str){ 
    Pattern pattern = Pattern.compile("aaaaaaabbbbbbbbbb[0-9]*"); 
    return pattern.matcher(str).matches();    

我有一个字符串    "aaaaaaabbbbbbbbbb[1]"  ,[]里的数字不一定就是1, 但是只能是1位数,我这么写为什么返回false啊???

解决方案 »

  1.   

    正则 改成 aaaaaaabbbbbbbbbb\[[0-9]\]*
    或 aaaaaaabbbbbbbbbb\[\d\]*需要匹配字符串中的中括号,需要把正则中的中括号转义
      

  2.   

    你好,
    "html:eq(0)>body:eq(1)>form:eq(0)>div:eq(13)>div:eq(0)>div:eq(1)>b:eq(2)>div:eq(0)>div:eq(0)>div:eq(3)>div:eq(0)>div:eq(2)>table:eq(2)>tbody:eq(1)>tr:eq(?)>td:eq(1)>div:eq(1)>h4:eq(?)>a:eq(0)"第一个问号 我想匹配 0-9的数字并且多个
    第二个问号 我想匹配 0-1的数字仅1个,我这样写为什么不行呢???"html:eq(0)>body:eq(1)>form:eq(0)>div:eq(13)>div:eq(0)>div:eq(1)>b:eq(2)>div:eq(0)>div:eq(0)>div:eq(3)>div:eq(0)>div:eq(2)>table:eq(2)>tbody:eq(1)>tr:eq(\\[[0-9]*\\])>td:eq(1)>div:eq(1)>h4:eq(\\[[0-1]\\])>a:eq(0)"
      

  3.   

    你好,
    "html:eq(0)>body:eq(1)>form:eq(0)>div:eq(13)>div:eq(0)>div:eq(1)>b:eq(2)>div:eq(0)>div:eq(0)>div:eq(3)>div:eq(0)>div:eq(2)>table:eq(2)>tbody:eq(1)>tr:eq(?)>td:eq(1)>div:eq(1)>h4:eq(?)>a:eq(0)"第一个问号 我想匹配 0-9的数字并且多个
    第二个问号 我想匹配 0-1的数字仅1个,我这样写为什么不行呢???"html:eq(0)>body:eq(1)>form:eq(0)>div:eq(13)>div:eq(0)>div:eq(1)>b:eq(2)>div:eq(0)>div:eq(0)>div:eq(3)>div:eq(0)>div:eq(2)>table:eq(2)>tbody:eq(1)>tr:eq(\\[[0-9]*\\])>td:eq(1)>div:eq(1)>h4:eq(\\[[0-1]\\])>a:eq(0)"
      

  4.   

    aaaaaaabbbbbbbbbb\[\\d\]*這樣行不行
      

  5.   

    LZ,你是想匹配
    aaaaaaabbbbbbbbbb[1],
    aaaaaaabbbbbbbbbb[2],
    aaaaaaabbbbbbbbbb[3]
    这样的?Pattern pattern = Pattern.compile("aaaaaaabbbbbbbbbb\\[\\d\\]");
    Matcher m = pattern.matcher("aaaaaaabbbbbbbbbb[1]");
    System.out.println(m.matches());
      

  6.   

    OK.弄好了,谢谢各位之前一直怀疑  是不是括号惹的祸,后来没得到答案,索性自己尝试了一下,谢谢了,解决了,正确方法如下Pattern.compile("html:eq\\(0\\)>body:eq\\(1\\)>form:eq\\(0\\)>div:eq\\(13\\)>div:eq\\(0\\)>div:eq\\(1\\)>b:eq\\(2\\)>div:eq\\(0\\)>div:eq\\(0\\)>div:eq\\(3\\)>div:eq\\(0\\)>div:eq\\(2\\)>table:eq\\(2\\)>tbody:eq\\(1\\)>tr:eq\\([0-9]*\\)>td:eq\\(1\\)>div:eq\\(1\\)>h4:eq\\([0-1]\\)>a:eq\\(0\\)"