首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

问一个简单的正则有关问题

2012-10-23 
问一个简单的正则问题Java codepublic static void main(String[] args) {boolean b isNumeric(aaaaaaa

问一个简单的正则问题

Java code
    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\\[[0-9]\\]*
[解决办法]
正则 改成 aaaaaaabbbbbbbbbb\[[0-9]\]*
或 aaaaaaabbbbbbbbbb\[\d\]*

需要匹配字符串中的中括号,需要把正则中的中括号转义
[解决办法]
[0-9]*好像是表示0-9之間的數出現0次或多次,我覺著應該是[0-9]+,不知道對不對...
[解决办法]
LZ,你是想匹配
aaaaaaabbbbbbbbbb[1],
aaaaaaabbbbbbbbbb[2],
aaaaaaabbbbbbbbbb[3]
这样的?

Pattern pattern = Pattern.compile("aaaaaaabbbbbbbbbb\\[\\d\\]");
Matcher m = pattern.matcher("aaaaaaabbbbbbbbbb[1]");
System.out.println(m.matches());

热点排行