正文

(转)JAVA正则表达式4种常用功能2008-07-19 20:58:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/billgacsli/36667.html

分享到:

摘自http://www.chinaitpower.com/A200507/2005-07-24/165801.html JAVA正则表达式4种常用功能      正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持    下面简单的说下它的4种常用功能:    查询:  以下是代码片段:String str="abc efg ABC";  String regEx="a|f"; //表示a或f  Pattern p=Pattern.compile(regEx); Matcher m=p.matcher(str);  boolean rs=m.find();     如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);    提取:以下是代码片段:  String regEx = ".+\\(.+)$";String str = "c:\\dir1\\dir2\\name.txt";Pattern p = Pattern.compile(regEx);Matcher m = p.matcher(str);boolean rs = m.find();for (int i = 1; i <= m.groupCount(); i++) {     System.out.println(m.group(i));}    以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();    分割:  以下是代码片段:String regEx="::";  Pattern p=Pattern.compile(regEx);  String[] r=p.split("xd::abc::cde"); 执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:  String str="xd::abc::cde";  String[] r=str.split("::");    替换(删除):  以下是代码片段: String regEx="a+"; //表示一个或多个aPattern p=Pattern.compile(regEx);Matcher m=p.matcher("aaabbced a ccdeaa"); String s=m.replaceAll("A");    结果为"Abbced A ccdeA"    如果写成空串,既可达到删除的功能,比如:  String s=m.replaceAll("");    结果为"bbced ccde"    附:   \D 等於 [^0-9] 非数字  \s 等於 [ \t\n\x0B\f ] 空白字元  \S 等於 [^ \t\n\x0B\f ] 非空白字元  \w 等於 [a-zA-Z_0-9] 数字或是英文字  \W 等於 [^a-zA-Z_0-9] 非数字与英文字    ^ 表示每行的开头 $ 表示每行的结尾 重要文献:http://java.sun.com/docs/books/tutorial/essential/regex/index.html

阅读(1916) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册