哪个网站推广比较好/济南今日头条新闻

哪个网站推广比较好,济南今日头条新闻,简历模板word,佛山市手机网站建设💡 正则表达式(Regular Expression, regex)知识点总结 💡 正则表达式是一种用于匹配字符串的模式,广泛用于搜索、替换、验证等操作。 📌 正则表达式的主要作用 1️⃣ 字符串匹配 🧐 检查一个…

💡 正则表达式(Regular Expression, regex)知识点总结 💡

正则表达式是一种用于匹配字符串的模式,广泛用于搜索、替换、验证等操作。


📌 正则表达式的主要作用

1️⃣ 字符串匹配 🧐

  • 检查一个字符串是否符合某种模式。
  • 例如,验证用户输入的邮箱手机号密码强度等。

2️⃣ 搜索和提取 🔍

  • 在大量文本中找到符合要求的内容。
  • 例如,从网页中提取URL、邮箱、电话号码等。

3️⃣ 字符串替换 🔄

  • 将符合规则的文本替换为指定内容。
  • 例如,把多个空格替换成一个空格

4️⃣ 数据格式化 ✏️

  • 规范化文本数据,如日期格式转换、去除特殊字符等。

5️⃣ 日志分析 📊

  • 通过正则表达式分析日志文件,提取错误信息IP 地址等重要数据。

📌 正则表达式的基础

  1. 普通字符匹配

    • abc 只能匹配 "abc",不会匹配 "aabc""abcd" 等。
  2. 特殊字符(元字符)

    元字符含义示例
    .任意单个字符(换行符除外)"a.c" 可匹配 "abc""aac"
    \d数字 [0-9]"12\d" 可匹配 "123""125"
    \w字母、数字或下划线 [a-zA-Z0-9_]"\w+" 可匹配 "hello123"
    \s空白字符(空格、制表符、换行符)"a\sb" 可匹配 "a b"
    \b单词边界"\bcat\b" 匹配 "cat" 但不匹配 "catalog"
    ^匹配行首"^abc" 只匹配 "abc" 在行首的情况
    $匹配行尾"xyz$" 只匹配 "xyz" 在行尾的情况

📌 量词(控制匹配次数)

量词含义示例
*匹配 0 次或多次a* 匹配 """a""aaaa"
+匹配 1 次或多次a+ 匹配 "a""aaaa",但不匹配 ""
?匹配 0 次或 1 次a? 匹配 """a"
{n}匹配 na{3} 仅匹配 "aaa"
{n,}至少匹配 na{2,} 匹配 "aa""aaa"
{n,m}匹配 nma{2,4} 匹配 "aa""aaa""aaaa"

📌 字符类(Character Classes)

语法含义示例
[abc]只匹配 abcgr[ae]y 可匹配 "gray""grey"
[^abc]a、b、c 以外的任何字符"[^aeiou]" 匹配所有辅音字母
[0-9]匹配 0~9 的任何数字"[0-9]+" 匹配 "123""456"
[a-z]匹配小写字母"[a-z]+" 匹配 "hello"
[A-Z]匹配大写字母"[A-Z]+" 匹配 "HELLO"

📌 逻辑运算符

语法含义示例
``逻辑 OR(或)
()分组"(ab)+" 可匹配 "ab""abab"
(?:...)非捕获分组"(?:ab)+" 仅匹配 "abab",但不存储匹配内容

📌 零宽断言

✨ 下面是正则表达式中 (?=) 等相关的零宽断言的作用和示例,整理成表格供你参考 📜👇

表达式名称 🏷作用 💡示例
(?=...)正向先行断言匹配当前位置,后面必须满足 ... 的条件,但不消耗字符\d(?=px) 匹配**5px 中的 5**,但不匹配 5em
(?!...)负向先行断言匹配当前位置,后面不能...\d(?!px) 匹配 5em5,但不匹配 5px
(?<=...)正向后行断言 🔄匹配当前位置,前面必须满足 ...(?<=\$)\d+ 匹配**$100 中的 100**,但不匹配 USD100
(?<!...)负向后行断言 🚫匹配当前位置,前面不能...(?<!\$)\d+ 匹配 USD100100,但不匹配 $100

💡 小贴士

  • 先行断言(?=...) & (?!...)检查后面的字符,但不消耗它们。
  • 后行断言(?<=...) & (?<!...)检查前面的字符,但不消耗它们。
  • 断言是零宽匹配(不占字符),用于复杂匹配规则!

📌 贪婪模式与懒惰模式

在正则表达式中,贪婪模式(Greedy Mode)指的是匹配时尽可能多地匹配字符。

例如:

  • a.*b"acbcb" 上的贪婪匹配结果是 "acbcb"(尽可能匹配最长的内容)。
  • 如果使用 懒惰模式(Lazy Mode)a.*?b,则匹配的结果是 "acb"(尽可能匹配最短的内容)。

贪婪匹配(Greedy Match)VS 懒惰匹配(Lazy Match)

模式符号行为
贪婪匹配(Greedy).*尽可能多地匹配
懒惰匹配(Lazy).*?尽可能少地匹配
占有匹配(Possessive).*+一次性匹配,不回溯

💡 记住:贪婪(Greedy)匹配会尽可能多地匹配字符,而懒惰(Lazy)匹配会尽可能少地匹配字符。🚀

📌 捕获分组与非捕获分组

📌 常见正则表达式

1️⃣ 匹配邮箱 📧:

^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$

✅ 可匹配 "test.email@example.com"

2️⃣ 匹配手机号 📱(以中国手机号 1 开头):

^1[3-9]\d{9}$

✅ 可匹配 "13812345678"

3️⃣ 匹配 IP 地址 🌐:

^(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])\.
(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])\.
(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])\.
(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])$

✅ 可匹配 "192.168.1.1"

4️⃣ 匹配日期(YYYY-MM-DD) 📆:

^(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

✅ 可匹配 "2024-03-14"


📌 Java 正则表达式示例

import java.util.regex.*;public class RegexExample {public static void main(String[] args) {String text = "hello regex 123!";String pattern = "\\d+"; // 匹配数字Pattern p = Pattern.compile(pattern);Matcher m = p.matcher(text);while (m.find()) {System.out.println("匹配到: " + m.group());}}
}

🔹 输出

匹配到: 123

📌 小结

正则表达式的核心知识点
元字符(特殊字符). \d \w \s ^ $
量词* + ? {n,m}
字符类[abc] [a-z] [^0-9]
逻辑运算| ()
常见应用:邮箱、手机号、IP 地址等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全球化2.0 | ZStack云计算系统工程师(ZCCE)国际认证培训成功举办

近日&#xff0c;ZStack云计算系统工程师&#xff08;ZCCE&#xff09;国际认证培训在上海成功举办。本次培训采用 "线下 线上直播" 双轨模式&#xff0c;同步开设中文与英文课程&#xff0c;吸引了来自中国、东南亚、独联体、北美、中东等多个国家和地区的近 90 名…

C++学习之nginx+fastDFS

目录 1.知识点概述 2.fastcgi复习 3.文件上传流程分析 4.文件下载流程和优化 5.在存储节点上安装nginx和fastdfs插件 6.mod-fdsf.com配置文件修改 7.解决nginx的worker无法启动&#xff0c;拷贝配置文件操作 8.客户 通过浏览器访问存储节点404问题 9.nginx服务器处理资…

【AIGC】Win10系统极速部署Docker+Ragflow+Dify

【AIGC】WIN10仅3步部署DockerRagflowDify 一、 Docker快速部署1.F2进入bios界面&#xff0c;按F7设置开启VMX虚拟化技术。保存并退出。2.打开控制面板配置开启服务3.到官网下载docker安装包&#xff0c;一键安装&#xff08;全部默认勾选&#xff09; 二、 RagFlow快速部署1.确…

新一代电子数据取证专家 | 苏州龙信信息科技有限公司

本文关键词&#xff1a;电子取证、手机取证、计算机取证、云取证 关于我们About us 苏州龙信信息科技有限公司专注于电子数据取证、大数据、信息安全等领域&#xff0c;核心业务主要涵盖取证工具研发、大数据融合分析、案件技术支持、取证能力培训等&#xff0c;先后为执法部门…

ABAP 长文本编辑器

加个屏幕 *&---------------------------------------------------------------------* *& Report YDEMO2 *&---------------------------------------------------------------------* *& *&---------------------------------------------------------…

postman小白教程(从入门到实战,详细教学)

目录 1. postman介绍 2. 下载地址 3. 安装流程 4. 注册postman账号 ① 打开postman&#xff0c;点击【创建账号】或【登录】&#xff0c;会跳转到浏览器 ② 若已有账号可以直接登录&#xff1b;若无账号&#xff0c;则创建新账号 ③ 若登录成功会弹出提示框&#xff0c;…

Qt 实现波浪填充的圆形进度显示

话不多说&#xff0c;先上效果图 代码示例&#xff1a; #include <QApplication> #include <QWidget> #include <QPainter> #include <QPropertyAnimation> #include <QTimer> #include <cmath>class WaveProgressBar : public QWidget {…

Linux vim mode | raw / cooked

注&#xff1a;机翻&#xff0c;未校。 vim terminal “raw” mode Vim 终端 “raw” 模式 1. 原始模式与已处理模式的区别 We know vim puts the terminal in “raw” mode where it receives keystrokes as they are typed, opposed to “cooked” mode where the command…

docker部署dify

1.安装docker 参考链接 https://ascendking.blog.csdn.net/article/details/136407383 设置docker源 vim /etc/docker/daemon.json {"registry-mirrors": ["https://docker.registry.cyou", "https://docker-cf.registry.cyou", "http…

Linux应用:Linux的信号

什么是信号 信号是一种软件中断&#xff0c;用于通知进程系统中发生了某种特定事件。它是操作系统与进程之间&#xff0c;以及进程与进程之间进行异步通信的一种方式。在 Linux 系统中&#xff0c;信号是一种比较简单的进程间通信机制。当一个信号产生时&#xff0c;内核会通过…

实时监控、数据分析!Web-Check构建你的网站健康检测系统实操方案

文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 在数字化运维领域&#xff0c;网站稳定性保障始终是开发者和运维团队的核…

win32汇编环境,网络编程入门之八

;在上一教程里&#xff0c;我们学习了简单的处理服务器返回的数据 ;在这一教程里&#xff0c;我们了解一下&#xff0c;当连接上网站后&#xff0c;应该发送什么数据过去的问题 ;这里有个简单的方式学习&#xff0c;以下是一个示例 ;我们上网的时候可以用谷歌浏览器&#xff0c…

一文了解ThreadLocal

什么是ThreadLocal&#xff1f; ThreadLocal是每个线程私有的&#xff0c;线程可以把自己的私有数据放到ThreadLocal里面&#xff0c;不用担心其他线程访问到自己ThreadLocal。 通过set()方法将值存入ThreadLocal或者修改值&#xff0c;get()方法取出值&#xff0c;remove()方…

常⻅CMS漏洞之一:WordPress

WordPress是⼀个以PHP和MySQL为平台的⾃由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截⾄2018年4⽉&#xff0c;排名前1000万的⽹站中超过30.6%使⽤WordPress。 WordPress是最受欢迎的⽹站 内容管理系统。全球有⼤约30%的⽹站(7亿5000个)都是使⽤WordP…

【第17节】windows sdk编程:线程与线程调度

目录 一、线程 1.1 线程的基本概念 1.2 何时创建线程 二、线程控制 三、遍历线程 四、线程内核对象 4.1 线程上下文 4.2 暂停次数 4.3 信号 五、线程调度 5.1 什么是线程优先级 5.2 进程优先级与相对线程优先级 5.3 编程改变优先级 5.4 动态优先级的概念 一、线程…

Python数据可视化实战:从基础图表到高级分析

Python数据可视化实战&#xff1a;从基础图表到高级分析 数据可视化是数据分析的重要环节&#xff0c;通过直观的图表可以快速洞察数据规律。本文将通过5个实际案例&#xff0c;手把手教你使用Python的Matplotlib库完成各类数据可视化任务&#xff0c;涵盖条形图、堆积面积图、…

【机器学习-分类算法】

比如将一张图片按尺寸识别分类为横向或者纵向两类就是二分类问题 设x轴为图像的宽、y轴为图像的高&#xff0c;那么把训练数据展现在图上就是这样的: 若增加更多的数据集有: 如果只用一条线将图中白色的点和黑色的点分开,那么: 分类的目的就是找到这条线,就可以根据点在线…

Docker build 会在本地产生巨大的文件

Docker build 会在本地产生巨大的文件&#xff0c; 比如 用 这个命令列出本地镜像 docker images 可见size都是很大的&#xff0c; 到docker目录下&#xff0c;看到ext4.vhdx的大小 80多G 那只能用这个命令把不用的镜像删掉了&#xff1a; &#xff08;rmi后面是镜像id&a…

台式机电脑组装---电脑机箱与主板接线

台式机电脑组装—电脑机箱与主板接线 1、机箱连接主板的跳线一般主要有USB 2.0、USB 3.0、前置音频接口(HD_AUDIO)以及POWER SW、RESET SW、POWER LED、HDD LED四个主板跳线&#xff0c;这些跳线分别的含义如下。 RESET SW&#xff1a;机箱重启按键&#xff1b;注&#xff1a…

【虚幻引擎UE5】SpawnActor生成Character实例不执行AI Move To,未初始化AIController的原因和解决方法

虚幻引擎版本&#xff1a;5.5.4 问题描述 刚创建的Third Person项目里&#xff0c;定义一个BP_Enemy蓝图&#xff0c;拖拽到场景中产生的实例会追随玩家&#xff0c;但SpawnActor产生的实例会固定不动。BP_Enemy蓝图具体设计如下&#xff1a; BP_Enemy的Event Graph ​​ 又定义…