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());
}
posted @ 2022-08-12 10:37  菜鸡成长记  阅读(46)  评论(0)    收藏  举报