行业资讯 2025年08月6日
0 收藏 0 点赞 718 浏览 2190 个字
摘要 :

文章目录 正则表达式字符 元字符 量词 组和范围 转义字符或字符类 正则表达式(Regex)是正则表达式的缩写。正则表达式是由不同字符组成的序列,用于描述特定的搜索模……




正则表达式(Regex)是正则表达式的缩写。正则表达式是由不同字符组成的序列,用于描述特定的搜索模式。它也被称为有理表达式。

它主要用于搜索和操作文本字符串。简单来说,您可以使用正则表达式轻松搜索模式并将其替换为匹配模式。

这个概念或工具几乎在所有编程或脚本语言中使用,如PHP、C、C++、Java、Perl、JavaScript、Python、Ruby等。它还用于诸如Word这样的文字处理软件,帮助用户在文档中搜索文本,还用于各种集成开发环境(IDE)中。

正则表达式定义的模式从左到右应用于给定的字符串或文本。

正则表达式字符

正则表达式有以下不同类型的字符:

  1. 元字符(Metacharacters)
  2. 量词(Quantifier)
  3. 组和范围(Groups and Ranges)
  4. 转义字符或字符类(Escape Characters or Character Classes)

元字符

元字符 描述 示例
^ 此字符用于在字符串的开头将表达式与右侧匹配。 ^a 是一个与以 ‘a’ 开头的字符串匹配的表达式,例如 “aab”、”a9c”、”apr”、”aaaaab” 等。
$ $符号用于将表达式与字符串的末尾左侧匹配。 r$ 是一个与以 ‘r’ 结尾的字符串匹配的表达式,例如 “aaabr”、”ar”、”r”、”aannn9r” 等。
. 此字符用于匹配字符串中的任何单个字符,但不包括行终止符,即 ‘\\n’。 b.x 是一个匹配字符串 “bax”、”b9x”、”bar” 等的表达式。
| 用于在左侧或右侧匹配特定字符或一组字符。如果左侧字符匹配,则忽略右侧字符。 A|b是一个表达式,它生成多种字符串,但每个字符串都包含字符a或b。
\\ 用于在字符串中的此符号后转义特殊字符。
A 用于在字符串中匹配字符 ‘A’。 此表达式匹配至少包含一个 ‘A’ 的字符串,例如 “Amcx”、”mnAr”、”mnopAx4” 等。
Ab 用于在字符串中匹配子字符串 ‘ab’。 此表达式匹配至少包含 ‘Ab’ 的字符串,例如 “Abcx”、”mnAb”、”mnopAbx4” 等。

量词

在正则表达式中,量词用于指定字符出现的次数。

字符 描述 示例
+ 此字符指定将左侧的表达式出现一次或多次。 s+ 是一个表达式,它生成 “s”、”ss”、”sss” 等字符串。
? 此字符指定将左侧的表达式出现0次(零次)或1次。 aS? 是一个表达式,它生成 “a” 或 “as”,但不生成 “ass”。
* 此字符指定将左侧的表达式出现0次或多次。 Br* 是一个表达式,它生成 “B”、”Br”、”Brr”、”Brrr” 等字符串。
{x} 它指定左侧的表达式仅出现x次。 Mab{5} 是一个表达式,它生成包含5个b的字符串,如 “Mabbbbb”。
{x,} 它指定左侧的表达式出现x次或更多次。 Xb{3,} 是一个表达式,它生成包含至少3个b的各种字符串,如 “Xbbb”、”Xbbbb” 等。
{x,y} 它指定左侧的表达式至少出现x次但不超过y次。 Pr{3,6}a 是一个表达式,提供两个字符串。这两个字符串如下所示:”Prrrr” 和 “Prrrrr”。

组和范围

在正则表达式中,组和范围定义了方括号中包含的字符集合。

字符 描述 示例
( ) 用于匹配括号内的内容。 A(xy) 是一个与以下字符串匹配的表达式:”Axy”。
{ } 用于匹配左侧字符串中大括号内定义的特定次数出现。 xz{4,6} 是一个与以下字符串匹配的表达式:”xzzzzz”。
[ ] 用于匹配方括号内定义的一组字符范围中的任何字符。 xz[atp]r 是一个与以下字符串匹配的表达式:”xzar”、”xztr” 和 “xzpr”。
[pqr] 用于分别匹配p、q或r。 此表达式与以下字符串匹配:”p”、”q” 和 “r”。
[pqr][xy] 匹配p、q或r,后跟x或y。 此表达式与以下字符串匹配:”px”、”qx”、”rx”、”py”、”qy” 和 “ry”。
(?: …) 用于匹配非捕获组。 A(?:nt
[^…..] 与方括号中未定义的字符匹配。 假设 Ab[^pqr] 是一个只匹配以下字符串的表达式:”Ab”。
[a-z] 与小写字母a到z匹配。 此表达式与以下字符串匹配:”a”、”python”、”good”。
[A-Z] 与大写字母A到Z匹配。 此表达式与以下字符串匹配:”EXCELLENT”、”NATURE”。
^[a-zA-Z] 用于匹配以小写或大写字母开头的字符串。 此表达式与以下字符串匹配:”A854xb”、”pv4fv”、”cdux”。
[0-9] 与0到9之间的数字匹配。 此表达式与以下字符串匹配:”9845″、”54455″。
[aeiou] 仅匹配小写元音字母的方括号。
[AEIOU] 仅匹配大写元音字母的方括号。
ab[^4-9] 与方括号中未定义的数字或字符匹配。 此表达式与不包含5、6、7和8的字符串匹配。

转义字符或字符类

正则表达式中的转义字符或字符类用于指定特定字符或字符类。它们以反斜杠(\\)开头,后面跟着一个字符或字符类的表示,用于匹配文本中的特定字符。

字符 描述
\\s 用于匹配一个空白字符。
\\S 用于匹配一个非空白字符。
\\0 用于匹配空字符(NULL字符)。
\\a 用于匹配铃声或警报字符。
\\d 用于匹配一个十进制数字,即从0到9。
\\D 用于匹配任何非十进制数字。
\\n 用于匹配换行符。
\\w 用于匹配字母数字字符[0-9a-zA-Z]。
\\W 用于匹配一个非单词字符。
\\b 用于匹配单词边界。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9406.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号