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啊???
或 aaaaaaabbbbbbbbbb\[\d\]*需要匹配字符串中的中括号,需要把正则中的中括号转义
"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)"
"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)"
aaaaaaabbbbbbbbbb[1],
aaaaaaabbbbbbbbbb[2],
aaaaaaabbbbbbbbbb[3]
这样的?Pattern pattern = Pattern.compile("aaaaaaabbbbbbbbbb\\[\\d\\]");
Matcher m = pattern.matcher("aaaaaaabbbbbbbbbb[1]");
System.out.println(m.matches());