正则表达式(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 引用第一个捕获组匹配的内容。

相关推荐
BeanInJ6 小时前
JAVA字符串与正则表达式
java·正则表达式
叶域12 小时前
正则表达式(复习)
大数据·python·正则表达式
运维小贺2 天前
Nginx常用的模块
运维·nginx·正则表达式
Viooocc3 天前
正则表达式
正则表达式
vvilkim3 天前
开发中常用的正则表达式规则与应用
正则表达式
林深的林5 天前
正则表达式(1)
正则表达式
ThisIsClark5 天前
【玩转正则表达式】正则表达式常用语法汇总
正则表达式
ThisIsClark5 天前
【玩转正则表达式】替换与正则表达式的结合
正则表达式
浪九天6 天前
Java常用正则表达式(身份证号、邮箱、手机号)格式校验
java·开发语言·正则表达式