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

正则表达式(2)匹配规则

正则表达式的匹配规则定义了如何识别字符串中的特定模式。这些规则包括字符类匹配、元字符匹配、数量词、字符转义和分组。

字符类匹配

字符类匹配允许你指定一个字符集合,并匹配该集合中的任意单个字符。这是通过方括号 [] 来实现的。

  • 简单字符类[abc] 匹配 "a"、"b" 或 "c" 中的任意一个字符。

  • 范围字符类[a-z] 匹配任意小写字母,[0-9] 匹配任意数字。

  • 否定字符类[^abc] 匹配除了 "a"、"b"、"c" 之外的任意字符。

  • 多字符集合[abc123] 匹配 "a"、"b"、"c"、"1"、"2" 或 "3" 中的任意一个字符。

元字符匹配

元字符是正则表达式中具有特殊含义的字符,用于指定复杂的匹配模式。

  • .(点):匹配除换行符以外的任意单个字符。

  • ^:匹配输入字符串的开始位置。

  • $:匹配输入字符串的结束位置。

  • *:匹配前面的字符零次或多次。

  • +:匹配前面的字符一次或多次。

  • ?:匹配前面的字符零次或一次。

  • |:逻辑或操作符,匹配两个表达式中的任意一个。

数量词

数量词指定一个字符或字符组出现的次数。

  • n*:匹配前面的字符零次或多次(n 为任意正整数)。

  • n+:匹配前面的字符一次或多次(n 为任意正整数)。

  • n?:匹配前面的字符零次或一次(n 为任意正整数)。

  • n{m}:匹配前面的字符恰好 m 次(m 为任意正整数)。

  • n{m,}:匹配前面的字符至少 m 次。

  • n{m,n}:匹配前面的字符至少 m 次,最多 n 次。

字符转义

在正则表达式中,一些字符具有特殊含义。如果你想要匹配这些特殊字符本身,需要使用反斜杠 \ 进行转义。

  • \d:匹配一个数字字符(等同于 [0-9])。

  • \s:匹配任何空白字符(包括空格、制表符、换页符等)。

  • \w:匹配任何字母数字字符(等同于 [a-zA-Z0-9_])。

  • \n:匹配换行符。

  • \.:匹配点字符(.)。

分组

分组允许你将多个字符视为一个整体进行匹配和操作。

  • 捕获组(...) 将括号内的内容视为一个整体进行匹配,并且可以被后续引用。

  • 非捕获组(?:...) 将括号内的内容视为一个整体进行匹配,但不捕获匹配的内容。

  • 选择组(a|b) 匹配 "a" 或 "b"。

  • 反向引用\1 引用第一个捕获组匹配的内容。

相关文章:

  • SQL注入练习场:PHPStudy+SQLI-LABS靶场搭建教程(零基础友好版)
  • 【Find My功能科普】防盗黑科技如何改变生活?
  • 提升大模型Text-to-SQL能力应用的实践
  • 人工智能与深度学习的应用案例:从技术原理到实践创新
  • VBA之Word应用第三章第七节:文档Document对象的方法(一)
  • 高效编程指南:PyCharm与DeepSeek的完美结合
  • 2.Swift Tabbar的使用
  • 软考中级_【软件设计师】知识点之【数据库】
  • Llama-Factory框架下的Meta-Llama-3-8B-Instruct模型微调
  • CentOS 最新系统安装 Redis 7.0.11 详细指南
  • 重生之数据结构与算法----数组链表
  • 2025-03-06 学习记录--C/C++-PTA 练习8-8 移动字母
  • Android MXPlayer-v1.86.0-wushidi专业版[原团队最后一个版本]
  • 实战案例分享:Android WLAN Hal层移植(MTK+QCA6696)
  • 编程语言介绍:Rust
  • RK3588V2--HYM8563TS RTC 实时时钟适配移植
  • QTday4
  • 谈谈你对 Seata 的理解?
  • 第四章:go 不同进制的区分 for _, r :=range 使用
  • 【入门级篇】保姆级教程:零基础实现DeepSeek本地部署的两种终极方案(附避坑指南)
  • 拉萨网站建设价格/宁波网络营销推广公司
  • 网站开发定制宣传图片/qq群排名优化软件官网
  • 江苏省泰州市建设局官方网站/seo网络推广机构
  • 做数据图网站/湖北百度推广电话
  • 厦门百度整站优化服务/青岛seo排名收费
  • 怎么在各大网站做推广/seo优化上海牛巨微