当前位置: 首页 > news >正文

Java 05正则表达式

正则表达式

1.简介

一个字符串,指定一些规则,来校验其他的字符串
String s="";规则
需要进行匹配的字符串.matches(s);来判断

在这里插入图片描述

2.字符类**(单个)

[abc]
String s="[ABC]";
"A".matches(s);返回true
但是如果是"ABC";
会返回false;
因为中括号表示的是其中之1;
如果不写,那么就是"[a][b][c];
[^abc]
除了这几个都可以,实际上就是取反
[a-zA-Z0-9]
指定范围
[a-dm-p]
同理
[a-z&&[def]]
交集
[a-z&&[^bc]]
除了

3.预定义字符类

\
转移字符
例如\t 实际上是\对t进行转移或者说是转义;
.
任何字符
split(".");//不可以返回的是正则
所以应该是spilt("\\.");
\d
一个数字等于[0-9];
但是\d代表的是转移d
需要多加上一个\才可以;
"
同理对”进行转义,需要在前面加上\即可
\D
非数字 
等于[^0-9]
\s
一个空白字符;
[ \t\n\x0B\f\r]
\S
非空白字符
[^\s]
\w
英文数字下划线
[A-Za-z_0-9]
\W
一个非单词字符
[^\W]

4.数量

X?
一次或者0次
X*
0次或者多次
X+
1次或者多次
X{n}
正好n次
X{n,}
至少n次
X{n,m}
至少n次不超过m次
例子
手机号
String sj="[1][3-9]\\d{9}";
邮箱正则
String s="\\w+[@][\\w&&[^_]]+(\\.[a-z]{2,3})+";
System.out.println("haha@hha.qq.com".matches(s));

在这里插入图片描述

String 类中与正则相关的常见方法

String replaceAll(String a,String b);

在这里插入图片描述

按照正则表达式中的内容进行替换
a为正则表达式,b为需要进行替换的内容
spilt
返回分割完成的数组

利用正则做爬取

|表示或者,跟&&不是很一样
Pattern
Pattren p=Pattern.compile(regex);//将正则表达式封装为Pattern对象
//获取匹配器对象
Matcher matcher=pattern.matcher(需要爬取的数据);
mather.find();判断有没有
mather.group();//调用其中的数据,要配合find一起进行使用
所以应当像下面这样进行发去
Arraylist<String> li=new ArrayList();
while(mather.find()){li.add(mather.group());
}

在这里插入图片描述

相关文章:

  • DAY28 超大力王爱学Python
  • 海外盲盒系统开发:重构全球消费体验的科技引擎
  • 探秘隐形冠军|安贝斯携手武汉科创协会x深钣协推进“江浙皖行”,揭秘华荣科技的创新破局
  • 矩阵的秩(Rank)
  • SpringBoot整合LangChain4J
  • 【JavaWeb】MyBatis
  • SAP-ABAP:SAP的`TRY...CATCH` 异常处理机制详解
  • Jenkins服务器配置密钥对
  • OpenCv高阶(8.0)——答题卡识别自动判分
  • 【LeetCode 热题 100】有效的括号 / 最小栈 / 字符串解码 / 柱状图中最大的矩形
  • Elasticsearch 实战面试题,每个题目都会单独解析
  • 多类型RFID电子标签定制 助力行业精准化管理
  • 在hadoop中实现序列化与反序列化
  • Java EE初阶——定时器和线程池
  • 使用 Navicat 工具管理时,点击某一列,能否查看该列的平均值和最大值等关联信息?
  • 【前端部署】通过 Nginx 让局域网用户访问你的纯前端应用
  • SSH漏洞修复方案
  • GitHub 趋势日报 (2025年05月19日)
  • 机器学习第十九讲:交叉验证 → 用五次模拟考试验证真实水平
  • DataLight(V1.7.12)版本更新发布
  • 英伟达推出新技术加速AI芯片连接,期望构建互联互通生态
  • 海军“吉祥方舟”号医院船开展海上卫勤演练
  • 一季度支持科技创新和制造业发展减税降费及退税4241亿元
  • 全总联合六部门印发工作指引,共保劳动者合法权益
  • 海南保亭警方通报“两飞车党紧追女童”:两名初中生认错道歉
  • 俄外长与美国务卿通电话,讨论俄美接触等问题