JAVA正则表达式4种常用的功能.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA?正则表达式4种常用的功能 下面简单的说下它的4种常用功能:      查询:    以下是代码片段: String str=abc efg ABC; String regEx=a|f; //表示a或f Pattern p=Ppile(regEx); Matcher m=p.matcher(str); boolean rs=m.find();      如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Ppile(regEx,Pattern.CASE_INSENSITIVE);      提取: 以下是代码片段: String regEx=.+\(.+)$; String str=c:\dir1\dir2\name.txt; Pattern p=Ppile(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=Ppile(regEx); String[] r=p.split(xd::abc::cde); 执行后,r就是{xd,abc,cde},其实分割时还有跟简单的方法: String str=xd::abc::cde; String[] r=str.split(::);      替换(删除):    以下是代码片段: String regEx=a+; //表示一个或多个a Pattern p=Ppile(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] 非数字与英文字      ^ 表示每行的开头   $ 表示每行的结尾Java程序员:一刻钟精通正则表达式   想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习经验。   开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:   ^The: 开头一定要有The字符串;   of despair$: 结尾一定要有of despair 的字符串;   那么,   ^abc$: 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。   notice: 匹配包含notice的字符串。   你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。   接着,说说 *, +,和 ?,   他们用来表示一个字符可以出现的次数或者顺序。 他们分别表示:   zero or more相当于{0,},   one or more相当于{1,},   zero or one.相当于{0,1}, 这里是一些例子:   ab*: 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串(a, ab, abbb, 等);   ab+: 和ab{1,}同义,同上条一样,但最少要有一个b存在 (ab, abbb, 等。);   ab?:和ab{0,1}同义,可以没有或者只有一个b;   a?b+$: 匹配以一个或者0个a再加上一个以上的b结尾的字符串。   要点, *, +,和 ?只管它前面那个字符。   你也可以在大括号里面限制字符出现的个数,比如   ab{2}: 要求a后面一定要跟两个b(一个也不能少)(abb);   ab{2,}: 要求a后面一定要有两个或者两个以上b(如abb, abbbb, 等。);   ab{3,5}: 要求a后面可以有

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档