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

第十一节:第一部分:正则表达式:应用案例、爬取信息、搜索替换

正则表达式介绍

正则表达式

String提供的正则表达式的方法的书写规则

匹配正则表达式的方法

正则表达式总结

正则表达式总结

正则表达式作用:

正则表达式作用

作用三:搜索替换

在这里插入图片描述

案例分析及代码(图片解析)

案例分析及代码

代码:

代码一:校验手机号和邮箱格式是否正确

package com.itheima.day15_regex;import java.util.Scanner;public class RegexTest3 {public static void main(String[] args) {//checkPhone();checkEmail();}//检查手机号public static void checkPhone() {while (true) {System.out.println("请您输入您的电话号码(手机|座机):");Scanner sc = new Scanner(System.in);String phone = sc.nextLine();//18676769999 010-3424242424 0104644535//  手机号         座机号         座机号if (phone.matches("(1[3-9]\\d{9}|(0\\d{2,7}-?[1-9]\\d{4,19}))")){System.out.println("您输入的号码格式正确~~~");break;}else {System.out.println("您输入的号码格式不正确~~~");}}}//检查邮箱public static void checkEmail() {while (true) {System.out.println("请您输入您的邮箱:");Scanner sc = new Scanner(System.in);String email = sc.nextLine();/*dlei0009@163.com25143242@qq.comitheima@itcast.comitheima@itcast.cn*/if (email.matches("\\w{2,}@(\\w{2,20}\\.\\w{2,10}){1,2}")){System.out.println("您输入的邮箱格式正确~~~");break;}else {System.out.println("您输入的邮箱格式不正确~~~");}}}}

结果1

代码二:使用正则表达式做搜索替换,内容分割。

package com.itheima.day15_regex;import java.util.Arrays;//目标:掌握使用正则表达式做搜索替换,内容分割。
public class RegexTest4 {public static void main(String[] args) {//1、public String replaceAll(String regex,String newstr):按照正则表达式匹配的内容进行替换// 需求1:请把 古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴,中间的非中文字符替换成“-"String str1 ="古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";System.out.println(str1.replaceAll("\\w+", "-"));//需求2(拓展):某语音系统,收到一个口吃的人说的"我我我喜欢编编编编编编编编编编编编程程程!",需要优化成"我喜欢编程!"。/*(.)一组:.匹配任意字符的。\\1:为这个组声明一个组号:1号+:声明必须是重复的字$1:可以取到第1组代表的那个重复的字* */String str2 ="我我我喜欢编编编编编编编编编编编编程程程!";System.out.println(str2.replaceAll("(.)\\1+","$1"));// 2、public string[]split(String regex):按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。// 需求1:请把古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴,中的人名获取出来。String str3 = "古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";String[] names =str3.split("\\w+");System.out.println(Arrays.toString(names));}
}

结果2

http://www.xdnf.cn/news/670519.html

相关文章:

  • 牙科低对比度模体,衡量牙科影像设备的性能和诊断能力的工具
  • 8种使用克劳德4的方法,目前可用随时更新!
  • 人工智能与机器学习从理论、技术与实践的多维对比
  • 打造AI智能旅行规划器:基于LLM和Crew AI的Agent实践
  • Flash Attention:让Transformer飞起来的硬件优化技术
  • 宝塔安装easyswoole框架
  • Cherry Studio连接配置MCP服务器
  • wsl图形界面显示
  • 探讨Facebook的元宇宙愿景下的虚拟现实技术
  • 【2025最新】Cline自定义API配置完全指南:接入Claude 3.7/GPT-4o
  • 用C#完成最小二乘法拟合平面方程,再计算点到面的距离
  • OpenGL Chan视频学习-8 How I Deal with Shaders in OpenGL
  • 深入理解设计模式之状态模式
  • kubernetes网络详解(内部网络、Pod IP分配、CNI)
  • 操作系统期中考试
  • 如何彻底禁用WordPress中的评论
  • 三、web安全-信息收集
  • 网络:华为S5720-52X-SI交换机重置console密码
  • 从0开始学习R语言--Day11--主成分分析
  • opencv(C++) 变换图像与形态学操作
  • NFS 挂载配置与优化最佳实践指南
  • openpi π₀ 项目部署运行逻辑(四)——机器人主控程序 main.py — aloha_real
  • 探索C++标准模板库(STL):从容器到底层奥秘-全面解析String类高效技巧(上篇)
  • [Vue] ref及其底层原理
  • UE5 Mat HLSL - Load
  • LeetCodeHot100_0x09
  • 纯C++ 与欧姆龙PLC使用 FINS TCP通讯源码
  • NSSCTF-[闽盾杯 2021]DNS协议分析
  • 为什么单张表索引数量建议控制在 6 个以内
  • InvokeAI 笔记, 简单了解一下 (生成图片,text2img )