- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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类是正则操作的最重要的一个类,所有的正则规范需要在
您可能关注的文档
- IC 封装名词解释.doc
- HTML语言基本格式.doc
- ICP原理及应用.doc
- ICU医师必读之五呼吸管理.doc
- ICU营养支持指南.doc
- IAD终端故障分析及处理.doc
- IDC运维方案.doc
- IC设计论坛_1 cadence简介.doc
- IgA肾病.doc
- if ,else 语句,递归下降法,输出四元式.doc
- 2023年护师类之儿科护理主管护师模拟题库附答案详解.docx
- 2023年执业药师之药事管理与法规通关练习题附答案.docx
- 2023年基金从业资格证之私募股权投资基金基础知识模拟卷附带答案.docx
- 2023年房地产经纪人之业务操作考前冲刺检测卷附答案.docx
- 环境影响评价工程师之环评技术方法考前冲刺训练试卷包括详细解答.docx
- 二级造价工程师之建设工程造价管理基础知识练习题库和答案.docx
- 药学类之药学(师)考前冲刺练习试题包括详细解答.docx
- 护师类之儿科护理主管护师综合提升模拟考试试卷提供答案解析.docx
- 2022-2023年一级造价师之建设工程计价模拟考试试卷附带答案.docx
- 2022-2023年施工员之土建施工专业管理实务考前冲刺模拟题库含答案讲解.docx
文档评论(0)