- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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后面可以有
您可能关注的文档
- EXCEL与员工奖惩管理实操EXCEL与员工奖惩管理实操.ppt
- excel常用函数公式及技巧搜集(常用的)excel常用函数公式及技巧搜集(常用的).doc
- EV8000网络视频监控系统介绍EV8000网络视频监控系统介绍.ppt
- excel实用大全excel实用大全.ppt
- excel工作表简单培训课件(动画制作过程)excel工作表简单培训课件(动画制作过程).ppt
- excel怎样利用身份证号自动生成出生年月excel怎样利用身份证号自动生成出生年月.doc
- EXCEL在会计中的应用EXCEL在会计中的应用.ppt
- Excel的使用方法与技巧 - 副本Excel的使用方法与技巧 - 副本.ppt
- Excel2000的基本操作Excel2000的基本操作.ppt
- EXCEL第二次课件EXCEL第二次课件.ppt
- 2025至2030年中国加氢反应器泡罩数据监测研究报告.docx
- 2025至2031年中国薄膜电容挤压机行业投资前景及策略咨询研究报告.docx
- 2025年中国二次方形锂离子电池市场调查研究报告.docx
- 2025年中国免扣式钢带打包机市场调查研究报告.docx
- 2025年中国全自动异型线条切割机市场调查研究报告.docx
- 2025年中国分布智能光电感烟探测器市场调查研究报告.docx
- 2025年机关事业单位技能资格考试-住房公积金专办员考试近5年真题荟萃附答案.docx
- 2025年中国云母耐高温电线市场调查研究报告.docx
- 2025年中国八字链条市场调查研究报告.docx
- 2025年中国DC电源插座市场调查研究报告.docx
文档评论(0)