当前位置: 首页 > 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.jsqmd.com/news/130590/

相关文章:

  • 计算机Java毕设实战-基于springboot的传媒公司传媒直播管理系统设计与实现基于SpringBoot+Vue的传媒公司主播招募管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2025年珠海可靠的门窗源头厂家有哪些,门窗/慕莎尼奥门窗/断桥铝门窗/侧压平移推拉窗/铝门窗/安全门窗实力厂家推荐排行榜 - 品牌推荐师
  • 基于Spring框架社区老年人健康杂志阅读分享管理系统
  • 【技术美术】光照技术概述
  • 最大数max(x,y,z)(信息学奥赛一本通- P1152)
  • 【软件开发】C++使用笔记
  • 量子优越性为什么采用玻色采样问题,而不采用N皇后问题呢?
  • 【软件开发】Windows 开发笔记
  • 【技术美术】视差贴图
  • DDD领域驱动设计原理
  • 【技术美术】卡通风格渲染
  • 计算机Java毕设实战-基于springboot+vue的社区资源共享系统设计与实现邻里社交与资源共享【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 详细介绍:Sciter之c++与前端交互(五)
  • 3.框架设计
  • HarmonyOS 5开发从入门到精通(十五):天气应用实战(上)
  • 前端工程化核心面试题与详解
  • HarmonyOS 5开发从入门到精通(十三):待办事项应用实战(上)
  • 【软件开发】如何做出好的项目
  • HarmonyOS 5开发从入门到精通(十四):待办事项应用实战(下)
  • 【技术美术】双向透射分布函数
  • 【技术美术】双向反射分布函数
  • 【软件开发】CMake学习笔记
  • 大模型时代来临:网络安全工程师/渗透测试工程师转行AI的必备学习路线图!!
  • Java:“object is not declare class”
  • 告别复杂操作!易知微行业 Demo 合集亮相,可视化超简单
  • 老师傅借助国产CAD,将经验与精准高效结合
  • Windows系统文件MSPRPCHS.DLL丢失找不到 下载修复方法
  • 数据和通信流的九大架构模式 - 智慧园区
  • 2025年十大IT领导层访谈盘点
  • 1 STM32学习板入门视频教程 STM32基础知识