学习正则表达式--正则中的元字符

news/2025/3/28 8:01:38/文章来源:https://www.cnblogs.com/du-z/p/18791959

正则中的元字符

在正则表达式里,元字符是具备特殊含义的字符,它们并非代表自身字面意义,而是用于定义匹配模式的规则。以下为你介绍常见的元字符及其作用:

字符匹配类元字符

.:匹配除换行符之外的任意单个字符。例如,正则表达式 a.c 可以匹配 abc、a1c、a@c 等字符串,但无法匹配 a\nc。
\d:匹配任意一个数字字符,等价于 [0-9]。比如,正则表达式 \d 能匹配 0 到 9 中的任意一个数字。
\D:匹配任意一个非数字字符,是 \d 的取反,等价于 [^0-9]。
\w:匹配任意一个字母、数字或下划线字符,等价于 [a-zA-Z0-9_]。例如,正则表达式 \w 可以匹配 a、5、_ 等字符。
\W:匹配任意一个非字母、数字或下划线的字符,是 \w 的取反,等价于 [^a-zA-Z0-9_]。
\s:匹配任意一个空白字符,包括空格、制表符、换页符等,等价于 [ \t\n\r\f\v]。
\S:匹配任意一个非空白字符,是 \s 的取反,等价于 [^ \t\n\r\f\v]。

数量限定类元字符

*:匹配前面的元素零次或多次。例如,正则表达式 ab* 可以匹配 a、ab、abb 等字符串。
+:匹配前面的元素一次或多次。比如,正则表达式 ab+ 可以匹配 ab、abb 等字符串,但不能匹配 a。
?:匹配前面的元素零次或一次。例如,正则表达式 ab? 可以匹配 a 或 ab。
{n}:匹配前面的元素恰好 n 次。例如,正则表达式 a{3} 只能匹配 aaa。
{n,}:匹配前面的元素至少 n 次。例如,正则表达式 a{2,} 可以匹配 aa、aaa、aaaa 等字符串。
{n,m}:匹配前面的元素至少 n 次,最多 m 次(n 和 m 为非负整数,且 n <= m)。例如,正则表达式 a{2,3} 可以匹配 aa 或 aaa。

位置类元字符

^:匹配字符串的开头。例如,正则表达式 ^abc 只有在字符串以 abc 开头时才能匹配成功。
$:匹配字符串的结尾。例如,正则表达式 abc$ 只有在字符串以 abc 结尾时才能匹配成功。
\b:匹配单词边界,即单词字符(\w)和非单词字符(\W)之间的位置。例如,正则表达式 \bcat\b 可以匹配句子 “I have a cat.” 中的 cat,但不能匹配 “category” 中的 cat。
\B:匹配非单词边界,与 \b 相反。

分组和引用类元字符

():用于创建捕获组,将多个字符组合成一个整体,同时可以捕获匹配到的内容,方便后续引用。例如,正则表达式 (ab)+ 可以匹配 ab、abab 等字符串,并且可以通过捕获组提取出每次匹配的 ab。
|:表示或的关系,用于匹配多个模式中的任意一个。例如,正则表达式 a|b 可以匹配 a 或者 b。

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

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

相关文章

Notepad--的安装与使用

Notepad--的安装与使用Notepad--是使用C++编写的轻量级文本编辑器,简称ndd,支持Window/Mac/Linux操作系统平台,还支持国产操作系统如统信Uos、麒麟kinly系统。本文只是概述Notepad--的功能,如果想了解全部的功能可参见官网的ndd说明书 下载与安装 下载地址: https://gitee.…

VirtualBox中的Kylin-Server-10-SP2迁移VMware后开无法进入系统和无网卡的问题记录

问题解决方案来源:https://www.cnblogs.com/flyxuxi/p/15009094.html使用VirtualBox安装Kylin-Server-10-SP2后将磁盘文件使用VMware打开出现无法进入系统和无网卡的问题记录VirtualBox 软件版本:7.1.6 存储 控制器: SATA SATA 端口 1: Kylin-Server-10-SP2-x86-Release-Buil…

地下市政基础设施管理平台:揭秘城市地下的“数字生命线”

2023年,住建部提出“到2025年底前实现综合管理信息平台全覆盖”的目标,标志着我国城市治理正式进入地下空间精细化时代。从道路塌陷到管网泄漏,从内涝预警到地铁安全,地下市政基础设施管理平台如何成为守护城市安全的“数字大脑”?本文带您一探究竟。 一、为何要建地下市政…

Frp内网穿透搭建教学

📌 FRP - Linux & Win 内网穿透教程 手搓难度 ⭐️⭐️🚀 适用于: 本地服务器、电脑、树莓派、香橙派内网穿透 🛠️ 工具:FRP(fast reverse proxy) 🖥️ 系统:Linux、Windows 📚架构:x86、amd、arm 📝Frp版本:v0.61.1 🎯教程日期:2025/2/12📖 目录…

整车销售管理怎么做?4S店整车销售7大模块!

这篇跟大家聊聊4S店整车销售管理到底该怎么做?干这行七八年了,从一线销售爬到区域总监,这里面的门道我总结成七大模块,全是实战干货,看完直接落地用!下述所示整车管理系统>> https://s.fanruan.com/mx0aj 一、系统底层逻辑:四个核心齿轮咬合 1.库存管理是心脏 每天…

CSS 实现滚动条的隐藏但保留滚动功能

CSS 实现滚动条的隐藏但保留滚动功能CSS 实现滚动条的隐藏但保留滚动功能 有几种方法可以在网页中隐藏滚动条但保留滚动功能,以下是常见的实现方式,使用 CSS:使用 ::-webkit-scrollbar(适用于 Webkit 内核浏览器,如 Chrome、Safari)/* 隐藏滚动条但保留滚动功能 */ body …

cccxm

29593138陈晓明

愚人节恶搞代码:系统错误倒计时与节日彩蛋动画

为你的网页增添趣味性和互动性!通过JavaScript轻松创建一个逼真的“系统错误倒计时”画面,结合动态进度条和节日彩蛋动画,为你的用户带来意想不到的惊喜。无论是愚人节还是特殊节日,这段代码都能为你的网站增添一份独特的幽默感和创意。距离愚人节还有一周时间,在这个充满…

RFDN:用于轻量级图像超分辨率的残差特征蒸馏网络

在本文中,我们提出了一种**特征蒸馏连接(feature distillation connection FDC)**,它在功能上等同于通道分裂操作,同时更加轻量级和灵活。多亏了FDC,我们可以重新思考信息**多蒸馏网络(information multi-distillation network IMDN)**,并提出一个轻量级和准确的SISR模…

AI编程的 9 个大坑

原帖:[X@cj_zZZz](x.com) 我每天使用AI工具编程6-7小时。 在过去12个月里开发了超过36个项目。 事实是:用一个提示"给我构建...应用"是不可能的。 所以,以下是你在使用AI编程时可能犯的所有错误: 1. 没有规划 通过我的规划技巧,我能在几小时内从想法到一个写得很…

从按键到语音:家电设备交互的演进之旅

家电,在人们的日常生活中扮演着不可或缺的角色,也是提升人们幸福感的重要组成部分,那你了解家电的发展史吗? #70年代 结婚流行“四大件”:手表、自行车、缝纫机,收音机,合成“三转一响”。#80年代 随着改革开放的深化,中国经济开始飞速发展,黑白电视机、冰箱、洗衣机这…