掌握正则表达式:从入门到精通的实战指南

掌握正则表达式:从入门到精通的实战指南
在这里插入图片描述
文章目录🌍一.正则表达式❄️1.为什么学习正则表达式❄️ 2.基本介绍❄️3.分析底层实现🌍二.正则表达式的语法❄️1.字符匹配❄️2.量词❄️3.定位符4.分组和引用❄️6.非贪婪匹配❄️7.分支结构❄️实际应用🌍 三.正则标表达式的三个常用类❄️1. Pattern类❄️2.Matcher类❄️3.PatternSyntaxException🌍 四.分组,捕获,反向引用❄️提出问题❄️了解正则表达式的几个概念❄️经典的结巴程序🌍五.String类中使用正则表达式❄️1.替换功能❄️2.判断功能❄️3.分割功能❄️4.演示代码🌍六.Java正则表达式大全❄️一、校验数字的表达式❄️二、校验字符的表达式❄️三、特殊需求表达式🌍七.题目练习❄️第一题❄️第二题❄️第三题

🙋‍♂️ 作者:@whisperrr.🙋‍♂️

🎉 其他专栏:零基础学Mysql 🎉

💥 标题:掌握正则表达式:从入门到精通的实战指南💥

❣️ 寄语:比较是偷走幸福的小偷❣️

🌍一.正则表达式

❄️1.为什么学习正则表达式

我们先来看几个问题。

给你一个字符串(或文章),请你找出所有四个数字连在一起的子串?给你一个字符串(或文章),请你找出所有四个数字连在一起的子串,并且这四个数字要满足:第一位与第四位相同,第二位与第三位相同,比如1221,5775请验证输入的邮件,是否符合电子邮件格式.请验证输入的手机号,是否符合手机号格式

解决之道,就在其中-----正则表达式。

❄️ 2.基本介绍

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。正则表达式用于执行字符串的搜索和/或替换操作,常用于数据验证、数据抓取、数据整理等场景。
简单的说:正则表达式是对字符串执行模式匹配的技术。

❄️3.分析底层实现

  1. matcher.find()
matcher.find()完成的任务根据指定的规则,定位满足规则的子字符串(比如1234)找到后,将 子字符串的索引位置记录到matcher对象的属性int [] groups;groups[0] = 0, 把该 子字符串的结束索引 + 1 记录到groups[1] = 4;同时记录oldlast 的值为 子字符串的结束索引 + 1即为4;
  1. matcher.group(0)
publicStringgroup(int group){ if(first <0)thrownewIllegalStateException("No match found");if(group <0|| group >groupCount())thrownewIndexOutOfBoundsException("No group "+ group);if((groups[group*2]==-1)||(groups[group*2+1]==-1))returnnull;returngetSubSequence(groups[group *2], groups[group *2+1]).toString();}
 小结 1.如果正则表达式有()分组 2.group(0)代表匹配的子字符串 2.group(1)代表匹配的子字符串的第一组 2.group(2)代表匹配的子字符串的第二组 
在这里插入图片描述

🌍二.正则表达式的语法

正则表达式(Regular Expression)是一种强大的文本处理工具,它通过定义一种规则来对字符串进行模式匹配、搜索和替换。下面我会详细讲解正则表达式的各个方面。

❄️1.字符匹配

  • .:匹配除换行符之外的任意单个字符。
  • [abc]:匹配方括号内的任意一个字符(a、b 或 c)。
  • [^abc]:匹配不在方括号内的任意一个字符。
  • [a-z]:匹配从 a 到 z 的任意一个小写字母。
  • [A-Z]:匹配从 A 到 Z 的任意一个大写字母。
  • [0-9]:匹配从 0 到 9 的任意一个数字。
  • \d:匹配一个数字字符。等价于 [0-9]
  • \D:匹配一个非数字字符。等价于 [^0-9]
  • \w:匹配包括下划线的任何单词字符。等价于 [A-Za-z0-9_]
  • \W:匹配任何非单词字符。等价于 [^A-Za-z0-9_]
  • \s:匹配任何空白字符,包括空格、制表符、换行符等等。
  • \S:匹配任何非空白字符。

❄️2.量词

  • *:匹配前面的子表达式零次或多次。
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。
  • {n}:n 是一个非负整数,匹配确定的 n 次。
  • {n,}:至少匹配 n 次。
  • {n,m}:至少匹配 n 次且最多匹配 m 次。

❄️3.定位符

  • ^:匹配输入字符串的开始位置。
  • $:匹配输入字符串的结束位置。
  • \b:匹配一个单词边界,即字与空格间的位置。
  • \B:匹配非单词边界。

4.分组和引用

  • (exp):匹配 exp 并捕获文本到自动命名的组里。
  • (?:exp):匹配 exp 但不捕获匹配的文本。
  • \n:引用编号为 n 的捕获组匹配的文本。

❄️6.非贪婪匹配

默认情况下,量词都是贪婪的,会尽可能多地匹配字符。在量词后面加上 ? 可以使其变为非贪婪的,即尽可能少地匹配字符。

  • *?:非贪婪地匹配任意次。
  • +?:非贪婪地匹配一次或多次。
  • ??:非贪婪地匹配零次或一次。
  • {n,m}?:非贪婪地至少匹配 n 次且最多匹配 m 次。

❄️7.分支结构

可以使用 | 来表示分支结构,匹配符号左边的子表达式或右边的子表达式。

  • foo|bar:匹配 “foo” 或 “bar”。

❄️实际应用

在不同的编程语言中,正则表达式的语法和功能可能会有所不同,但基本概念是通用的。以下是一些使用正则表达式的例子:

packagecom.lrx.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/** * @author 刘 * @version 1.0 */publicclassRegExp08{ publicstaticvoidmain(String[] args){ String content ="https://www.bilibili.com/video/BV1oDU4YYEgT/?spm_id_from=333.1007.tianma.4-4-14.click";String regStr ="^((http|https)://)?([\\w-]+\\.)+[\\w-]+([\\w-#%&?.=/]*)?$";Pattern pattern =Pattern.compile(regStr);Matcher matcher = pattern.

Read more

Whisper语音识别案例:智能会议纪要生成系统

Whisper语音识别案例:智能会议纪要生成系统 1. 引言 1.1 业务场景描述 在现代企业协作中,会议是信息传递和决策制定的核心环节。然而,会后整理会议纪要往往耗费大量人力,且容易遗漏关键信息。传统方式依赖人工记录或简单录音回放,效率低下、成本高。随着AI语音识别技术的发展,构建一个自动化、高准确率的智能会议纪要生成系统成为可能。 本项目基于 OpenAI 的 Whisper Large v3 模型,结合 Gradio 构建 Web 服务,实现多语言语音自动转录与翻译功能,支持99种语言检测,适用于跨国团队、远程会议等复杂语言环境下的会议内容结构化处理。 1.2 痛点分析 现有会议记录方案存在以下问题: - 人工记录耗时耗力:需专人全程参与,影响专注度。 - 商业ASR服务成本高:按分钟计费模式不适合高频使用场景。 - 离线能力弱:多数云服务依赖网络,隐私和延迟难以保障。 -

AI绘画开源新星:Qwen-Image-2512技术亮点与部署趋势一文详解

AI绘画开源新星:Qwen-Image-2512技术亮点与部署趋势一文详解 最近,AI绘画圈又迎来了一颗重磅开源新星——阿里推出的Qwen-Image-2512。这个代号“2512”的最新版本,不仅在画质上有了肉眼可见的提升,还带来了更聪明的构图理解和更丰富的风格控制能力。对于咱们这些喜欢折腾AI绘画的开发者来说,这无疑是个值得深入研究的“新玩具”。 今天这篇文章,我就带大家从技术角度,好好盘一盘Qwen-Image-2512的核心亮点,并手把手教你如何通过ComfyUI这个强大的可视化工具,快速把它部署起来,跑出你的第一张惊艳作品。整个过程非常简单,哪怕你之前没怎么接触过ComfyUI,跟着步骤走也能轻松搞定。 1. Qwen-Image-2512:技术亮点深度解析 Qwen-Image-2512并非简单的版本迭代,它在多个关键维度上都做了显著优化。咱们先抛开那些复杂的论文术语,用大白话聊聊它到底“强”在哪。 1.1 画质与细节:肉眼可见的升级 最直观的感受就是画质。相比之前的版本,2512在图像清晰度、细节丰富度上进步明显。 * 分辨率与清晰度:模型对高分辨率图像

论文党收藏!5个免费降AIGC查重率网站,2025算法适配(亲测真实)!

论文党收藏!5个免费降AIGC查重率网站,2025算法适配(亲测真实)!

写论文怕 AI 生成痕迹被查?查重率飙到预警线?作为实测过 20 + 工具的博主,今天整理了 5 个真正实用的降重去痕网站,免费、操作简单,学生党、硕士党、博士党直接收藏备用!✨ 1. XYZ SCIENCE 首推宝藏工具!直接冲——AI率检测永久免费,AI率改写推广永久免费(也可99元永久免费),即使付费性价比依旧极高。2025最新算法可同步在知网、万方等所有主流查重平台,除了降低AI生成痕迹外(亲测疑似度可以降到0)还能进行段落级改写,维持原有逻辑不跑偏,在同时降重的效果下,论文的公式、专业术语在保留下来的同时自动修正不专业的公式与术语,不用二次返工。 2. PaperYY 降 AIGC 痕迹的老牌工具,力度超扎实!分学生版和编辑版,学生版免费额度够日常使用,疑似度能降到安全区间,适配大部分高校查重标准。唯一小遗憾是 2025 最新算法还在更新中,但对付常规论文检测完全够用,适合追求稳定效果的同学。 3.

告别查重焦虑:PaperZZ 降重 / 降 AIGC 功能如何重塑学术写作的合规与效率

告别查重焦虑:PaperZZ 降重 / 降 AIGC 功能如何重塑学术写作的合规与效率

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 降重/降AIGChttps://www.paperzz.cc/weight 在学术写作的全流程中,“查重” 无疑是悬在每一位作者头顶的达摩克利斯之剑。无论是毕业论文、期刊投稿还是学术专著,重复率超标不仅会导致稿件被拒,更可能引发学术诚信层面的质疑。而随着 AI 生成内容(AIGC)的普及,新的挑战随之而来:AI 生成的文本不仅可能因句式单一、逻辑模板化被识别,还可能因训练数据的同源性导致重复率居高不下。面对 “双重压力”,传统的降重方式 —— 逐句改写、同义词替换 —— 早已显得力不从心,不仅效率低下,更可能破坏文本的逻辑连贯性和学术价值。 PaperZZ 降重 / 降 AIGC 功能的出现,正以颠覆性的力量重新定义学术降重的体验。它不再是简单的 “文字替换工具”,而是深度融合了语义重写、多检测系统适配和全流程辅助的智能助手,让曾经令人望而生畏的降重过程,变得高效、合规且充满可控性。 一、