正则表达式

所谓正则表达式,由一些特定的字符组成,代表的是一个规则。作用如下:
(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

案例:

String data =“电话:18621312888186231231777\n” +“或者联系邮箱:boniu@itcast.cn,\n” +“座机电话:010097423895010-98951256\n” +        “邮箱:7826448211@qq.com,\n” +“邮箱2:dlei0009@163.com,\n” +        “热线电话:401-638-9090400-618-499040023120004002356890;
//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. 表达式

    2023-12-20 07:32:03       64 阅读
  2. 表达式

    2023-12-20 07:32:03       73 阅读
  3. 表达式

    2023-12-20 07:32:03       74 阅读
  4. 【Python】表达式

    2023-12-20 07:32:03       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-20 07:32:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-20 07:32:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-20 07:32:03       87 阅读
  4. Python语言-面向对象

    2023-12-20 07:32:03       96 阅读

热门阅读

  1. 4-Docker命令之docker volume

    2023-12-20 07:32:03       69 阅读
  2. 实战:使用Spring Boot监控SQL执行

    2023-12-20 07:32:03       69 阅读
  3. 黑豹程序员-安装docker-ce

    2023-12-20 07:32:03       57 阅读
  4. Jupyter的简单实用

    2023-12-20 07:32:03       63 阅读
  5. 论文笔记 | ICLR 2023 WikiWhy:回答和解释因果问题

    2023-12-20 07:32:03       74 阅读
  6. hadoop完全分布式搭建

    2023-12-20 07:32:03       47 阅读
  7. 第十六章 爬虫scrapy登录与中间件

    2023-12-20 07:32:03       50 阅读
  8. Pytorch当中nn.AvgPool3d()和nn.AdaptiveAvgPool3d()的区别

    2023-12-20 07:32:03       61 阅读