一、为什么要学习正则表达式
1、请参考👉先体验正则表达的威力
2、再提几个问题
3、解决之道
二、正则表达式基本介绍
1、介绍
2、实例分析
3、正则表达式语法
a、基本介绍
b、元字符–转义符号\\
i、例子
//要检查的文本
String str="123$(mko(%(254)lk8(";
//定义检查规则
String regStr="\\(";
Pattern regex = Pattern.compile(regStr);
//在文本中使用这些规则
Matcher mac = regex.matcher(str);
//开始查找符合的数据
while (mac.find()){
System.out.println("找到:"+mac.group(0));
}
ii、使用转义字符的情况
c、元字符–字符匹配符
i、上面语法注意事项
+ 表示 1个 或 多个,
?表示 0个 或 1个,
*表示 0或 多个,
\w 还包含下划线‘_’
ii、应用案例
d、元字符–选择匹配符
e、元字符–限定符
i、举例子
f、元字符–定位符
g、元字符–分组
i、捕获分组
ii、非捕获分组
h、应用案例
i、URL的表示
4、正则表达式三个常用类
a、Pattern类的方法matches
- 应用案例
5、反向引用
a、基本介绍
b、小栗子
6、经典的结巴案例
7、替换分割匹配(String中使用正则表达式)
a、String类中替换功能
b、String类中判断功能
c、String类中分割功能
三、练习题
a、练习一:验证邮箱格式是否合法
b、练习二:验证整数或小数
c、练习三:解析url
四、正则表达式-详细介绍
1、详细介绍
2、通用表达方式
a、检验数字的表达式
1 数字:^[0-9]*$
2 n位的数字:^\d{
n}$
3 至少n位的数字:^\d{
n,}$
4 m-n位的数字:^\d{
m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{
1,2})?$
7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{
1,2})?$
8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
9 有两位小数的正实数:^[0-9]+(.[0-9]{
2})?$
10 有1~3位小数的正实数:^[0-9]+(.[0-9]