A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dianxiaoer 中级黑马   /  2015-5-3 10:48  /  439 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


                String b="[0-9a-z]{3}";
                String uName = "123456";
                boolean a = uName==b;
                 while (a){
                        System.out.println("bu  dui");
                break;
                }
                 System.out.println("dui");
        }

纳尼(日语) 为什么都都是输出对,正则该怎么写

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

10 个回复

倒序浏览
判断条件一直都为假
回复 使用道具 举报
你的匹配出问题了啊   
回复 使用道具 举报
boolean a = uName==b;这个条件是判断两个字符串的地址是否相等,没有用到匹配啊,所以a一直为假。
回复 使用道具 举报
正则不是用==来匹配的!
回复 使用道具 举报
396460221 发表于 2015-5-3 23:25
boolean a = uName==b;这个条件是判断两个字符串的地址是否相等,没有用到匹配啊,所以a一直为假。 ...

难道用equals????
回复 使用道具 举报
zuoyou 发表于 2015-5-3 23:52
正则不是用==来匹配的!

怎么匹配
回复 使用道具 举报
判断条件a始终是flase.原因是给定的String b长度为3,而uName的长度是6.所有总是执行“dui”.

评分

参与人数 1黑马币 +20 收起 理由
dianxiaoer + 20

查看全部评分

回复 使用道具 举报
正则表达式是 String b="[0-9a-z]{6}";
回复 使用道具 举报
判定是使用 method(reg)
reg=“一段正则表达死”
回复 使用道具 举报
str.matches(regex)这才是正则的匹配方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马