JAVA中正则表达式的应用(二) - 编程入门网
(光看方法的解释是不是很不好理解?不要急,待会结合例子就比较容易明 白了) JAVA中正则表达式的应用(二)(4)时间:2011-06-22 IBM / 陈广佳一个Matcher实例是被用来对目标字符串进行基于既有模式(也就是一个给定 的Pattern所编译的正则表达式)进行匹配查找的,所有往Matcher的输入都是通 过CharSequence接口提供的,这样做的目的在于可以支持对从多元化的数据源所 提供的数据进行匹配工作。 我们分别来看看各方法的使用: ★matches()/lookingAt ()/find(): 一个Matcher对象是由一个Pattern对象调用其matcher()方法而生成的,一旦 该Matcher对象生成,它就可以进行三种不同的匹配查找操作: matches()方法尝试对整个目标字符展开匹配检测,也就是只有整个目标字符 串完全匹配时才返回真值。 lookingAt ()方法将检测目标字符串是否以匹配的子串起始。 find()方法尝试在目标字符串里查找下一个匹配子串。 以上三个方法都将返回一个布尔值来表明成功与否。 ★replaceAll ()/appendReplacement()/appendTail(): Matcher类同时提供了四个将匹配子串替换成指定字符串的方法: replaceAll() replaceFirst() appendReplacement() appendTail() replaceAll()与replaceFirst()的用法都比较简单,请看上面方法的解释。 我们主要重点了解一下appendReplacement()和appendTail()方法。 appendReplacement(StringBuffer sb, String replacement) 将当前匹配子 串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字 符串段添加到一个StringBuffer对象里,而appendTail(StringBuffer sb) 方法 则将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里。 例如,有字符串fatcatfatcatfat,假设既有正则表达式模式为 "cat",第一次匹配后调用appendReplacement (sb,"dog"),那么这时StringBuffer sb的内容为fatdog,也就是 fatcat中的cat被替换为dog并且与匹配子串前的内容加到sb里,而第二次匹配后 调用appendReplacement(sb,"dog"),那么sb的内容就变为 fatdogfatdog,如果最后再调用一次appendTail(sb),那么sb最终的内容将是 fatdogfatdogfat。 JAVA中正则表达式的应用(二)(5)时间:2011-06-22 IBM / 陈广佳还是有点模糊?那么我们来看个简单的程序:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |