欢迎来到天天文库
浏览记录
ID:14105399
大小:552.32 KB
页数:6页
时间:2018-07-26
《java正则表达式的使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目标:l掌握正则表达式的作用l掌握正则表达式的匹配模式l掌握Pattern类和Matcher类的使用l掌握String类对正则的支持为什么要有正则u正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。u例如:现在要求判断一个字符串是否由数字组成,这可以有两种做法²不使用正则完成²使用正则完成以验证字符串是否由数字组成为例:publicclassRegexDemo01{publicstaticvoidmain(Stringargs[]){Stringstr="1234567890";//此字符串由数字组成boolea
2、nflag=true;//定义一个标记变量//要先将字符串拆分成字符数组,之后依次判断charc[]=str.toCharArray();//将字符串变为字符数组for(inti=0;i3、4、c[i]>'9'){//如果满足条件,则表示不是数字flag=false;//做个标记break;//程序不再向下继续执行}}if(flag){System.out.println("是由数字组成!");}else{System.out.println("不是由数字组成!");}}};基本思5、路是,将字符串转换成字符数组在一一进行比较,如果没有出现非数字字符,则其是由数字组成。一、认识正则表达式换成正则表达式则如下:importjava.util.regex.Pattern;publicclassRegexDemo02{publicstaticvoidmain(Stringargs[]){Stringstr="1234567890";//此字符串由数字组成if(Pattern.compile("[0-9]+").matcher(str).matches()){//使用正则System.out.println("是由数字组成!");}6、else{System.out.println("不是由数字组成!");}}};以上代码也完成字符串的验证功能,可以发现使用此种验方法比之前直接用String方法跟简单二、Pattern、Matcher类这两个类为正则的核心操作类,如果想要在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义。Pattern类的主要作用是进行正则规范(如之前的“[0-9]”就是属于正则规范)的编写,而Matcher类主要是执行规范,验证一个字符串是否合其规范。l常用的正则规则规范描述规范描述\表7、示反斜线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}必须出8、现n次X{n,}必须出现n次以上X{n,m}必须出现n~m次逻辑运算符(X、Y表示一组规范)规范描述规范描述XYX规范后跟着Y规范X9、YX规范或Y规范(X)作为一个捕获组规范以上正则,如果想要驱动起来,则必须依靠Pattern类和Matcher类。Pattern主要是表示一个规则的意思,即:正则表达式的规则需要在Pattern类中使用Matcher来主要表示使用Pattern指定好的验证规则Pattern类的常用方法有:Matcher类的常用方法有:字符串验证的步骤:1.Pattern类中没有构造方法,说明构造方法被私用话,需要从Pattern10、本身中的compile(Stringregex)中实例化Pattern对象,如:Patternp=Pattern.compile("[0-9]+");2.Matcher类可以通过Pattern类的matcher(CharSequenceinput)进行实例化,指定要进行验证的字符串如:MatcherM=p.matcher("123456777ldjfl");3.使用Matcher类中的publicbooleanmatches()执行验证booleanflag=M.matches();或使用Matcher类中的publicStringreplac11、eAll(Stringreplacement)方法进行替换操作M.replace("_");//将数字替换成下划线范例一:实现代码如下:importj
3、
4、c[i]>'9'){//如果满足条件,则表示不是数字flag=false;//做个标记break;//程序不再向下继续执行}}if(flag){System.out.println("是由数字组成!");}else{System.out.println("不是由数字组成!");}}};基本思
5、路是,将字符串转换成字符数组在一一进行比较,如果没有出现非数字字符,则其是由数字组成。一、认识正则表达式换成正则表达式则如下:importjava.util.regex.Pattern;publicclassRegexDemo02{publicstaticvoidmain(Stringargs[]){Stringstr="1234567890";//此字符串由数字组成if(Pattern.compile("[0-9]+").matcher(str).matches()){//使用正则System.out.println("是由数字组成!");}
6、else{System.out.println("不是由数字组成!");}}};以上代码也完成字符串的验证功能,可以发现使用此种验方法比之前直接用String方法跟简单二、Pattern、Matcher类这两个类为正则的核心操作类,如果想要在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义。Pattern类的主要作用是进行正则规范(如之前的“[0-9]”就是属于正则规范)的编写,而Matcher类主要是执行规范,验证一个字符串是否合其规范。l常用的正则规则规范描述规范描述\表
7、示反斜线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}必须出
8、现n次X{n,}必须出现n次以上X{n,m}必须出现n~m次逻辑运算符(X、Y表示一组规范)规范描述规范描述XYX规范后跟着Y规范X
9、YX规范或Y规范(X)作为一个捕获组规范以上正则,如果想要驱动起来,则必须依靠Pattern类和Matcher类。Pattern主要是表示一个规则的意思,即:正则表达式的规则需要在Pattern类中使用Matcher来主要表示使用Pattern指定好的验证规则Pattern类的常用方法有:Matcher类的常用方法有:字符串验证的步骤:1.Pattern类中没有构造方法,说明构造方法被私用话,需要从Pattern
10、本身中的compile(Stringregex)中实例化Pattern对象,如:Patternp=Pattern.compile("[0-9]+");2.Matcher类可以通过Pattern类的matcher(CharSequenceinput)进行实例化,指定要进行验证的字符串如:MatcherM=p.matcher("123456777ldjfl");3.使用Matcher类中的publicbooleanmatches()执行验证booleanflag=M.matches();或使用Matcher类中的publicStringreplac
11、eAll(Stringreplacement)方法进行替换操作M.replace("_");//将数字替换成下划线范例一:实现代码如下:importj
此文档下载收益归作者所有