- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目标:掌握正则表达式的作用掌握正则表达式的匹配模式掌握Pattern类和Matcher类的使用掌握String类对正则的支持为什么要有正则正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。例如:现在要求判断一个字符串是否由数字组成,这可以有两种做法不使用正则完成使用正则完成以验证字符串是否由数字组成为例:publicclassRegexDemo01{publicstaticvoid main(String args[]){String str = 1234567890 ;// 此字符串由数字组成boolean flag = true ;// 定义一个标记变量// 要先将字符串拆分成字符数组,之后依次判断char c[] = str.toCharArray() ;// 将字符串变为字符数组for(int i=0;ic.length;i++){// 循环依次判断if(c[i]0||c[i]9){// 如果满足条件,则表示不是数字flag = false ;// 做个标记break ;// 程序不再向下继续执行}}if(flag){System.out.println(是由数字组成!) ;}else{System.out.println(不是由数字组成!) ;}}};基本思路是,将字符串转换成字符数组在一一进行比较,如果没有出现非数字字符,则其是由数字组成。一、认识正则表达式换成正则表达式则如下:import java.util.regex.Pattern ;publicclassRegexDemo02{publicstaticvoid main(String args[]){String str = 1234567890 ;// 此字符串由数字组成if(Ppile([0-9]+).matcher(str).matches()){// 使用正则System.out.println(是由数字组成!) ;}else{System.out.println(不是由数字组成!) ;}}};以上代码也完成字符串的验证功能,可以发现使用此种验方法比之前直接用String方法跟简单二、Pattern、Matcher类这两个类为正则的核心操作类,如果想要在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义。Pattern类的主要作用是进行正则规范(如之前的“[0-9]”就是属于正则规范)的编写,而Matcher类主要是执行规范,验证一个字符串是否合其规范。常用的正则规则规范描述规范描述\\表示反斜线\t表示制表符/n表示换行[abc]字符a,b或c,还有如[rtg]、[bnd]等[^abc]除了a,b,c以外的任意字符[^]表示非[a-zA-Z0-9]表示由字母、数字组成\d表示数字,相当于[0-9]\D表示非数字,相当于[^0-9]\w表示字母、数字、下划线\W表示字母、数字、下划线\s表示所有空白字符(换行、空格等)\S表示所有非空白字符^行的开头$行的结尾.匹配除了换行符之外的任意字符数量表示(X表示一组规范)规范描述规范描述X必须出现一次X?可以出现0次或1次X*可以出现0次,1次或多次X+可以出现1次或多次X{n}必须出现n次X{n,}必须出现n次以上X{n,m}必须出现n~m次逻辑运算符(X、Y表示一组规范)规范描述规范描述XYX规范后跟着Y规范X|YX规范或Y规范(X)作为一个捕获组规范以上正则,如果想要驱动起来,则必须依靠Pattern类和Matcher类。Pattern主要是表示一个规则的意思,即:正则表达式的规则需要在Pattern类中使用Matcher来主要表示使用Pattern指定好的验证规则Pattern类的常用方法有:Matcher类的常用方法有:字符串验证的步骤:Pattern类中没有构造方法,说明构造方法被私用话,需要从Pattern本身中的compile(String regex)中实例化Pattern对象,如:Pattern p=Ppile([0-9]+);2.Matcher类可以通过Pattern类的matcher(CharSequence input)进行实例化,指定要进行验证的字符串如:Matcher M=p.matcher(123456777ldjfl);3.使用Matcher类中的public boolean matches()执行验证booleanflag=M.matches();或使用Matcher类中的public String replaceAll(String replacement)方法进行替换操作M.replace(_); //将数字替换成下划线范例一:实现代码如下:import
文档评论(0)