Pattern和Matcher具体的用法

以API中的例子为例:Patternp=Pattern.compile("a*b");Matcherm=p.matcher("aaaaab");booleanb=m.ma... 以API中的例子为例:Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 都是些啥意思,具体要干嘛我看的不太理解 展开
 我来答
陆月的原野
2018-03-30 · TA获得超过2.4万个赞
知道小有建树答主
回答量:192
采纳率:100%
帮助的人:18.2万
展开全部

Pattern是一个正则表达式经编译后的表现模式。Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 

首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。

判断字符串是否匹配这个正则表达式,第一个参数是正则表达式,第二个参数是字符串。

Matcher类的使用 Matcher类的构造方法也是private的所以也是通过调用方法来创建的。

Matcher.matches()/ Matcher.lookingAt()/ Matcher.find() Matcher.matches()是必须全部匹配; Matcher.lookingAt()匹配的字符必须要在字符串的最前面 Matcher.find()匹配的字符可以在字符串的任意的地方。

Mathcer.start()/ Matcher.end()/ Matcher.group() 这三个方法必须是在有字符匹配到的条件下才能够调用,否则会报错。 start()返回匹配到的子字符串在字符串中的索引位置. end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. group()返回匹配到的子字符串。

tart(),end(),group()均有一个重载方法它们是start(int i),end(int i),group(int i)专用于分组操作,Mathcer类还有一个groupCount()用于返回有多少组。

铂金羊羊羊
推荐于2018-02-13 · TA获得超过1043个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:211万
展开全部
这是正则表达式Pattern.compile("a*b");这个是规范
Matcher m = p.matcher("aaaaab"); 这个是被测试的内容
看这个你就明白了.
//判断是否是数字.你可以填写其它的规则;
Pattern p = Pattern.compile("\\d+"); //需要要判断的字符串; Matcher m = p.matcher("1234532323"); if(m.matches()) { System.out.println("正确,是由数字组成的"); }else { System.out.println("错误,不是由数字组成的"); }
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式