【软件开发】正则表达式
【软件开发】正则表达式
正则表达式是一种强大的高级字符串匹配方法。
通配符
用于代表某些字符。
普通字符
.:除了换行回车符以外的任何单个字符。\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 字符。

浙公网安备 33010602011771号