JAVA中正则表达式的应用(二) - 编程入门网
ln("调用m.appendTail(sb)后sb的最终内容 是:"+ sb.toString());
}
}
最终输出结果为: 第1次匹配后sb的内容是:Kevin 第2次匹配后sb的内容是:Kevin Li and Kevin 第3次匹配后sb的内容是:Kevin Li and Kevin Chan are both working in Kevin 第4次匹配后sb的内容是:Kevin Li and Kevin Chan are both working in Kevin Chen''s Kevin 调用m.appendTail(sb)后sb的最终内容是:Kevin Li and Kevin Chan are both working in Kevin Chen''s KevinSoftShop company. 看了上面这个例程是否对appendReplacement(),appendTail()两个方法的使 用更清楚呢,如果还是不太肯定最好自己动手写几行代码测试一下。 JAVA中正则表达式的应用(二)(6)时间:2011-06-22 IBM / 陈广佳★group()/group(int group)/groupCount(): 该系列方法与我们在上篇介绍的Jakarta-ORO中的MatchResult .group()方法 类似(有关Jakarta-ORO请参考上篇的内容),都是要返回与组匹配的子串内容, 下面代码将很好解释其用法:
输出为: 该次查找获得匹配组的数量为:2 第1组的子串内容为:ca 第2组的子串内容为:t Matcher对象的其他方法因比较好理解且由于篇幅有限,请读者自己编程验证 。 一个检验Email地址的小程序: 最后我们来看一个检验Email地址的例程,该程序是用来检验一个输入的 EMAIL地址里所包含的字符是否合法,虽然这不是一个完整的EMAIL地址检验程序 ,它不能检验所有可能出现的情况,但在必要时您可以在其基础上增加所需功能 。 import java.util.regex.*; public class Email { public static void main(String[] args) throws Exception { String input = args[0]; // 检测输入的 EMAIL 地址是否以 非法符号"."或"@"作为起始字符 Pattern p = Pattern.compile("^\\.|^\\@"); Matcher m = p.matcher(input); if (m.find()){ System.err.println("EMAIL 地址不能以''.''或''@''作为起始字符"); } // 检测是否以"www."为起始 p = Pattern.compile("^www\\."); m = p.matcher(input); if (m.find()) { System.out.println("EMAIL 地址不能以''www.''起始"); } // 检测是否包含非法字符 p = Pattern.compile("[^A-Za-z0-9\\.\\@_\\-~#]+"); m = p.matcher(input); StringBuffer sb = new StringBuffer(); boolean result = m.find(); boolean deletedIllegalChars = false; while(result) { // 如果找到了非法字符那么就设下标记 deletedIllegalChars = true; // 如果里面包含非法字符如冒号双引号等,那么就把他们消去,加到 SB 里面 m.appendReplacement(sb, ""); result = m.find(); } |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |