JavaSE正则表达式.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaSE正则表达式

Java SE 13th day:正则表达式 本次课程知识点 正则表达式的作用 Pattern和Macher类 String对正则的支持 具体内容 正则表达式:在JDK 1.4之后加入到Java的开发环境之中,在JDK 1.4之前如果要想使用正则表达式进行开发,则必须从网上单独下载Apache的一个正则的表达式的开发包,正则最早是从PHP中兴起的,主要的作用可以非常方便完成一些复杂的严整功能等基本实现。 2.1 认识正则(理解) 下面通过一个程序简单了解以下正则有哪些用处。 例如:现在有如下的一个要求:判断一个字符串是否由数字组成。 实现一:不使用正则 ● 将字符串变为字符数组,之后将数组中的每个内容取出进行验证。 package org.lxh.regextdemo; public class RegexDemo01 { public static void main(String[] args) { String str = 121s34123414123; char c[] = str.toCharArray(); // 将字符串变为字符数组 boolean flag = true; for (int i = 0; i c.length; i++) { if (!(c[i] = 0 c[i] = 9)) {// 不是数字 flag = false; break ; } } if(flag){ System.out.println(字符串是由数字组成!); }else{ System.out.println(字符串不是由数字组成!) ; } } } 字符串不是由数字组成! 以上是实现了基本的操作,但是现在只是一个小小的验证,已经编写了很多的行,如果更加复杂的严整呢? 实现二:使用正则实现 package org.lxh.regextdemo; public class RegexDemo02 { public static void main(String[] args) { String str = 121s34123414123; if (str.matches(\\d+)) {// 使用正则 System.out.println(字符串是由数字组成!); } else { System.out.println(字符串不是由数字组成!); } } } 字符串不是由数字组成! 以上的操作明显比第一种实现更加容易,而且代码较少,那么在操作中使用的“\\d+”实际上就属于正则表达式。 2.2 正则表达式(重点) 如果要想知道有多少种正则表达式,则观察java.util.regex包中的Pattern类,里面列出全部的正则表达式内容。 字符匹配(Character classes) No 表达式 描述 1 [abc] 表示取值可能是a,可能是b,可能是c 2 [^abc] 表示取值不是a、b、c的任意一个内容 3 [a-zA-Z] 表示全部的字母,大写和小写。[a-z]表示小写字母,[A-Z]表示大写字母 4 [0-9] 表示由数字组成 5 [^0-9] 表示由非数字组成 简短表达式(Predefined character classes) No 表达式 描述 1 \d 表示由数字组成 2 \D 表示由非数字组成 3 \s 表示有空格组成,空格包含了“\n”、“\t”之类的 4 \S 表示由非空格组成 5 \w 表示由字母、数字、下划线组成 6 \W 表示由非字母、数字、下划线组成 7 . 表示任意字符 列出出现的次数(Greedy quantifiers、以X表示一个完整的正则) No 表达式 描述 1 X? 表示正则表达式出现0次或1次 2 X* 表示正则表达式出现0次或1次或多次 3 X+ 表示正则表达式出现1次或多次 4 X{n} 表示出现的长度正好是n次 5 X{n,} 表示出现的长度大于n次 6 X{n,m} 表示出现的长度正好是n到m次 关系运算(Logical operators) No 表达式 描述 1 XY X组正则之后紧跟着Y组正则 2 X|Y 要么是X的正则,要么是Y的正则 3 (X) 表示一组规范 但是,如果要想使用以上的正则表达式,则需要Pattern类和Matcher类的支持。 在Pattern类中需要指定要操作的正则表达式规范,而在Matcher类进行验证。 2.3 正则编译(/匹配)类:Pattern(理解) java.util.regex.Pattern类是正则操作的最重要的一个类,所有的正则规范需要在

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档