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

Javase——正则表达式

 正则表达式的相关使用

    public static void main(String[] args) {//校验QQ号 System.out.println("3602222222".matches("[1-9][0-9]{4,}"));// 校验18位身份证号        System.out.println("11050220240830901X".matches("^([0-9]){7,18}(x|X)?$ 或 ^\\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$"));}
// 上面账号都位假

常用正则表达式

正则表达式常见用法——爬虫

字符串中查找匹配规则的关键词

String str = "Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11," +
"因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";|
//1.获取正则表达式的对象,即创建匹配规则
Pattern p= Pattern.compile("Java\\d{0,2}");
//2.获取文本匹配器的对象
//拿着m去读取str,找符合p规则的子串
Matcher m = p.matcher(str);//3.m读取完str后,利用.find()循环获取
while(m.find()){String s = m.group();System.out.println(s);
}

爬取网页里的信息

public static void main(String[] args) throws IOException {// 创建一个URL对象URL url = new URL("https://baike.baidu.com/item/%E6%AD%A6%E6%B1%89%E5%B8%82?fromModule=lemma_search-box");// 连接上这个网址// 细节:保证网络是畅通URLConnection conn = url.openConnection();// 创建一个对象去读取网络中的数据BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); // 要确定爬取数据的编码格式String line;// 获取正则表达式的对象 pattern,即确定字符串匹配规则Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]+大学");// 在读取的时候每次读一整行while ((line = br.readLine()) != null) {// System.out.println(line);  这个可以将这个html页面打印下来Matcher matcher = pattern.matcher(line); // 扫描一整行,对这一行进行正则校验,得到matcher// 输出一行中匹配到的while (matcher.find()) {System.out.println(matcher.group());}}br.close();}

 贪婪爬取和非贪婪爬取 

String str = "abbbbbbbbbbbbaaaa"

  •  贪婪爬取:在爬取数据的时侯尽可能的多获取数据
    • 正则表达式:ab+
    • 爬取为:abbbbbbbbbbbb
  • 非贪婪爬取:在爬取数据的时侯尽可能的少获取数据
    • ​​​​​​​​​​​​​​​​​​​正则表达式:ab+?
    • 爬取为:ab

字符串方法使用

 正则表达式分组使用

http://www.lryc.cn/news/472983.html

相关文章:

  • 云原生文件系统之JuiceFS
  • C++:输入和输出
  • vue的路由的两种模式 hash与history 详细讲解
  • 【Linux操作系统】进程间通信之匿名管道与命名管道
  • 慢sql优化和Explain解析
  • ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities
  • 【Java SE】代码注释
  • 如何在算家云搭建Llama3-Factory(智能对话)
  • 操作数据表
  • C# 实现进程间通信的几种方式(完善)
  • MySQL Workbench Data Import Wizard:list index out of range
  • 微信支付宝小程序SEO优化的四大策略
  • AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion论文阅读笔记
  • SQLite 数据库设计最佳实践
  • 【论文精读】ID-like Prompt Learning for Few-Shot Out-of-Distribution Detection
  • Android 10.0 根据包名禁用某个app的home事件
  • Rust 文档生成与发布
  • 【C++动态规划】有效括号的嵌套深度
  • 2024年优秀的天气预测API
  • Android和iOS有什么区别?
  • NVR小程序接入平台/设备EasyNVR多个NVR同时管理多平台级联与上下级对接的高效应用
  • Spring Cloud Sleuth(Micrometer Tracing +Zipkin)
  • 人工智能:机遇与挑战
  • mac电脑设置crontab定时任务,以及遇到的问题解决办法
  • Backtrader 数据篇 02
  • 视频转场素材资源网站分享
  • 二十二、MySQL 8.0 主从复制原理分析与实战
  • 基于OSS搭建在线教育视频课程分享网站
  • CentOS 7 下升级 OpenSSL
  • 线上 Dump