2022-08-12 第二小组 张鑫 学习笔记
实训三十四天 正则表达式
1.学习重点
1.正则表达式
2.学习心得
复习ing..
3.学习内容
正则表达式
又叫做规则表达式
Regular Expression Regex
判断字符串,核心功能处理文本
正则表达式不局限于某一种语言
元字符
.:匹配除了换行符之外的任意字符
\w:匹配字符或数字或下划线或汉字
\s:空格
\d:匹配数字
\b:匹配单词的开始或结束
^:匹配字符串的开始
$:匹配字符串的结束
重复限定符
*:重复零次或更多次
+:重复一次或更多次
?:重复零次或一次
{n}:重复n次
{n,}:重复n次或更多次
{n,m}:重复n到m
分组
限定符的作用与它相邻的最左边的一个字符起作用
正则表达式可以用小括号来分组,括号内的内容会作为一个整体
转义
匹配字符串中包含0到多个(ab)开头:
^((\ab\))*
条件
| 单或
联通手机号
^(130|131|132|134|155|156|185|186)\d{8}$
区间
正则表达式用[ ]表示区间
0~9:[0-9]
A~Z:[A-Z]
限定数字:[130]
反义
\W:不是字母,数字,下划线,中文
\S:不是空格
\D:不是数字
\B:不是单词开头或结束
[^x]:除了x以外的任意字符
[^aeiou]:匹配出了aeiou的任意字符
常见的正则表达式
匹配中文的字符
[ ],匹配的是ASCⅡ码
邮箱
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
电话号码
^\d{3,4}-\d{8}$
QQ号
^[1-9][0-9]{4,11}$
Pattern类
Matcher类
PatternSyntaxException类
@Test
public void test01(){
String str ="hello,i am from jilin changchun!";
String pattern =".*jilin.*";
//匹配是否存在
boolean b = Pattern.matches(pattern,str);
}
//校验
@Test
public void test02(){
String regex ="`^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$`";
String email ="596785270@qq.com";
Pattern pattern =Pattern.compile(regex);
Matcher matcher =pattern.matcher(email);
System.out.println(matcher.matches());
}