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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-10-1 22:27  /  2106 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

谁能具体解释一下正则表达式中Matcher的具体作用,最好用简明的例子或易懂话说明白,多谢了。

评分

参与人数 1黑马币 +5 收起 理由
乔兵 + 5

查看全部评分

5 个回复

正序浏览
问题解决后,请修改帖子分类为:提问结束
回复 使用道具 举报
Pattern p = Pattern.compile("abc");
        Matcher m = p.matcher("abc");
        boolean b = m.matches();
        System.out.println(b);
Java.util.regex.Pattern 正则表达式的编译表示形式。
通过Pattern.compile()获得Pattern实例
Java.util.regex.Matcher 通过解释 Pattern 对 character sequence 执行匹配操作的引擎。
Matches() 尝试将整个字符串与该正则表达式匹配
Find()  从字符串中查找子串
Matches方法和find方法同时使用时,必须要调用reset方法重置.
Group() 获取查找的子串的组

评分

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

查看全部评分

回复 使用道具 举报
一个Matcher对象是由一个Pattern对象调用其matcher()方法而生成的,一旦该Matcher对象生成,它就可以进行三种不同的匹配查找操作:
matches()方法尝试对整个目标字符展开匹配检测,也就是只有整个目标字符串完全匹配时才返回真值。

评分

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

查看全部评分

回复 使用道具 举报
Matcher专业地来说就是匹配引擎啦,我们先把这个晾一边。把正则和要被正则的字符串粘到一起就构成了Matcher对象,梦航已经专业地给出了代码,既然粘到了一起,Matcher对象就可以对它们进行操作了,用什么对什么操作?当然是你封装在里面的正则对字符串操作?什么操作?替换,匹配,获取等等操作。如果是获取的话,就得先查找find(),查找与符合你正则中规则的字符串,指针如果移动到符合规则的字符串的角标,你用group()方法将符合规则的字符串返回。

评分

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

查看全部评分

回复 使用道具 举报 2 0
// 首先定义正则表达式
String reg = "a*b";
// 其次将正则表达式编译为Pattern对象
Pattern p = Pattern.compile(reg);
// 最后利用Pattern对象创建Matcher对象
Matcher m = p.matcher("aaab");
// 打印输出
while(m.find()) {
    System.out.println(m.group());
}

※要多看、多练

祝编程愉快!

评分

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

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马