【软件开发】正则表达式
【软件开发】正则表达式
正则表达式是一种强大的高级字符串匹配方法。
通配符
用于代表某些字符。
普通字符
.
:除了换行回车符以外的任何单个字符。\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 字符。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现