正则表达式

所谓正则表达式 ,由一些特定的字符组成,代表的是一个规则。作用如下:

(1)用来校验数据格式是否合法

(2)在一段文本中查找满足要求的内容

(3)用于搜索替换、分割内容

String类提供了matches方法,判断字符串是否匹配正则表达式。

符号 含义 举例
? 0次或1次 \\d?
* 0次或多次 \\d* (abc)*
+ 1次或多次 \\d+ (abc)+
{} 具体次数 {7,19}
(?i) 忽略后面字符的大小写 (?i)abc
a((?i)b)c 只忽略b的大小写 a((?i)b)c
[] 里面的内容出现一次 [abc]
^ 取反 [^abc]
&& 交集,不能写单个的& [a-z&&m-p]
. 任意字符 \n 回车符号不匹配
\ 转义字符 \\d
\\d 0-9 \\d+
\\D 非0-9 \\D+
\\s 空白字符
\\S 非空白字符 [^\s]
\\w 单词字符 [a-zA-Z_0-9]
\\W 非单词字符 [^\w]
() 分组 a(bc)+
| 写在方括号外面表示并集 ab|AB

案例:

java 复制代码
String data ="电话:18621312888,186231231777\n" +"或者联系邮箱:boniu@itcast.cn,\n" +"座机电话:010097423895,010-98951256\n" +        "邮箱:7826448211@qq.com,\n" +"邮箱2:dlei0009@163.com,\n" +        "热线电话:401-638-9090 ,400-618-4990,4002312000,4002356890";
//1.定义爬取规则(正则表达式)
String regex = "(\\w{1,}@\\w{2,10}(\\.\\w{2,10}){1,2})|" +  
"(1[3-9]\\d{9})|(0\\d{2,5}-?\\d{5,15})|400-?\\d{3,8}-?\\d{3,8}";
// 2.把正则表达式封装成一个Pattern对象
Pattern pattern = Pattern.compile(regex);
// 3.通过pattern对象得到查找内容的匹配器
Matcher matcher = pattern.matcher(data);
// 4.通过匹配器开始去内容中查找信息
while(matcher.find()){    
	System.out.println(matcher.group()); //取出信息
}

来源:黑马课程

相关推荐
欧恩意1 天前
【Tools】Java反汇编工具推荐
java·汇编
寻星探路1 天前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
lbb 小魔仙1 天前
【Java】Java 实战项目:手把手教你写一个电商订单系统
android·java·python
星河耀银海1 天前
Java安全开发实战:从代码防护到架构安全
java·安全·架构
青云交1 天前
Java 大视界 -- 基于 Java 的大数据可视化在城市水资源管理与节水策略制定中的应用
java·java 大数据·java 大数据可视化·城市水资源管理·spark 数据清洗·echarts 热力图·管网漏损控制
紫陌涵光1 天前
112. 路径总和
java·前端·算法
workflower1 天前
多变量时间序列预测
java·hadoop·nosql·需求分析·big data·结对编程
Volunteer Technology1 天前
DynamicTP动态线程池(四)
java·spring boot·后端·spring
野犬寒鸦1 天前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习