正则表达式

Regular Expression

通常被用来检索、替换符合某个模式(规则)的文本aszooxiao 12qwyqrezwt

字符匹配

字符 描述
? 匹配前面的子表达式零次或一次
(?=pattern) 非获取匹配,正向肯定预查
(?!pattern) 非获取匹配,正向否定预查
(?<=pattern) 非获取匹配,反向肯定预查
(?<!pattern) 非获取匹配,反向否定预查
. 匹配除“\n”和”\r”之外的任何单个字符
{n} n是一个非负整数。匹配前面的子表达式确定的n次
{n,} n是一个非负整数。匹配前面的子表达式至少n次
{n,m} m和n均为非负整数,其中n<=m。前面的子表达式最少匹配n次且最多匹配m次。
+ 匹配前面的子表达式一次或多次(大于等于1次)
x|y 匹配x或y
* 匹配前面子表达式任意次
[xyz] 字符集合。匹配所包含的任意一个字符
[^xyz] 负值字符集合。匹配未包含的任意字符
[a-z] 字符范围。匹配指定范围内的任意字符
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符
\d 匹配一个数字字符。等价于[0-9]。grep 要加上-P,perl正则支持
\D 匹配一个非数字字符。等价于[^0-9]。grep要加上-P,perl正则支持
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符

位置匹配

字符 描述
</code> 转义字符
^ 行首
$ 行尾
? 跟在其他限制符后时,将匹配模式设置为非贪婪模式(默认为贪婪模式)
(pattern) 匹配pattern并获取这一匹配,可通过$1…$9获取匹配值
(?:pattern) 非获取匹配,匹配pattern但不获取匹配结果
\b 匹配一个单词边界,也就是指单词和空格间的位置
\B 匹配非单词边界

文章链接 https://fangzongzhou.github.io/2018/08/08/计算机/Linux/正则表达式/