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

【软件开发】正则表达式

【软件开发】正则表达式

正则表达式是一种强大的高级字符串匹配方法。

通配符

用于代表某些字符。

普通字符

  • .:除了换行回车符以外的任何单个字符。
  • \w:匹配任意一个字母、数字、下划线。
  • \d:匹配任意一个阿拉伯数字。

非打印字符

  • \f:匹配一个换页符。
  • \n:匹配一个换行符。
  • \r:匹配一个回车符。
  • \t:匹配一个制表符。
  • \v:匹配一个垂直制表符。
  • \s:匹配任何空白文字。
  • \S:匹配任何非空白文字。
  • \cx:匹配由 x 指定的控制字符,所有非打印字符都可通过该方式指定。

表达式字符

可借助表达式功能实现通过自定义规则表达单个字符。

  • []:创建一个表达式,匹配其中的任何字符。
  • ^:表达式取反,不匹配其中的任何字符。
  • -:表示一个区间,匹配区间内的所有字符。

[^A-Z]表示匹配所有非大写字母字符。

转义字符

部分字符有特殊功能,所以表示它们需要在前面加上\进行转义。

限定符

描述前述通配符的通配次数

  • *:匹配零次或多次。
  • +:匹配一次或多次。
  • ?:匹配零次或一次。
  • {n}:固定匹配 n 次。
  • {n,}:至少匹配 n 次。
  • {n,m}:最少匹配 n 次,最多匹配 m 次。

贪婪

*+限定符都是贪婪的,它们会保证在正则表达式匹配的情况下,尽可能多的匹配文字。

但可通过在其后面加上一个?使其非贪婪,即匹配满足要求的最短文字。

定位符

用于限制通配规则在句子中的位置。

  • ^:句子开头。
  • $:句子结尾。
  • \b:单词边界。
  • \B:非单词边界。

逻辑运算

  • |:满足两个匹配条件中的一个

可配合(?:)限定多个匹配范围,例如.*\.(?:hlsl|obj)( hlsl 或 obj)。

附加功能

正则表达式支持的一些在特定情况才可使用且常用的功能。

选择

利用()可以从匹配的字符串中捕获分组(不被选择的则将被抛弃)。这主要在程序中使用,以便更精细获取匹配结果。

修饰符

修饰符又称标记,可用于指定额外的匹配。如果支持,通常需要将正则表达式用//括起来,然后在后面添加修饰符,修饰符可同时提供多个。

  • i:匹配时忽略大小写。
  • g:全局匹配。查找所有的匹配项,否则仅匹配首个。
  • m:多行匹配。使定位符^$匹配每一行的开头和结尾,而不是字符串的开头结尾。
  • s:使.也匹配换行回车符,即真正的任何字符。

/a/gi表示匹配所有的 a 或 A 字符。

参考资料

  • 菜鸟教程-正则表达式
http://www.rkmt.cn/news/143328.html

相关文章:

  • 记录我的niri安装
  • 计算机Java毕设实战-基于springboot+vue的社区资源共享系统设计与实现邻里社交与资源共享【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • HarmonyOS 5开发从入门到精通(十五):天气应用实战(上)
  • 3.框架设计
  • 【软件开发】如何做出好的项目
  • HarmonyOS 5开发从入门到精通(十三):待办事项应用实战(上)
  • 在“人海”与“人效”间:我如何用六西格玛培训,为消费电子企业锻造“高价值人才链”
  • 【技术美术】纹理技术概述
  • 【软件开发】CMake学习笔记
  • 完整教程:[百题重刷]前缀和 + Hash 表:缓存思想, 消除重复计算
  • 万能欧几里得板子
  • 【技术美术】双向透射分布函数
  • 【技术美术】原始模型文件的内容
  • 【软件开发】C++使用笔记
  • Windows系统文件msjter40.dll缺少损坏 下载修复
  • 软件工程学习日志2025.12.23
  • 工业可视化监控利器:Prosys OPC UA Monitor 产品详细介绍
  • 融智学完成了其理论拼图中最基础最艰难的标志性的一块里程碑
  • 小功率数控直流稳压电源设计
  • 光速AI:玻璃纤维如何革新神经网络计算
  • Oracle:判断一个字符串出现次数
  • 基于YALMIP+CPLEX的带储能微电网调度问题最优求解matlab仿真
  • 【技术美术】各向异性光照
  • 告别复杂操作!易知微行业 Demo 合集亮相,可视化超简单
  • 老师傅借助国产CAD,将经验与精准高效结合
  • 金银双破纪录!三大隐藏推手,不止是避风港
  • axios 的 withCredentials 到底做了什么?
  • Windows系统文件msrclr40.dll丢失找不到问题 下载修复方法
  • 黑白盒测试
  • 1 STM32学习板入门视频教程 STM32基础知识