正则表达式--Perl正则表达式

2022-10-04 14:25:40 浏览数 (1)

字符

说明

备注

d

匹配任意单个0-9的数字

D

匹配任意单个非数字字符

t

匹配单个横向制表符,相当于一个tab键

s

匹配单个空白字符,包括空格、tab键

S

匹配单个非空白字符

n

匹配换行符

w

匹配 [a-zA-Z0-9_]

W

匹配 [^a-zA-Z0-9_]

如:我们以下面这个文件为例,其中第5行为一个空格,第7行为一个制表符(tab)

代码语言:javascript复制
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5555:0:sync:/sbin:/bin/sync
shutdown:x:66:0:shutdown:/sbin:/sbin/shutdown
halt:x:777:0:halt:/sbin:/sbin/halt

下面匹配包含一个数字的行

代码语言:javascript复制
grep -P -n 'd' passwd

所有包含数字的行都匹配出来了 匹配包含3个数字的行

代码语言:javascript复制
grep -P -n 'd{3}' passwd

{3}前面的数字出现3次,这是精确匹配 {3,}表示前面的数字最少出现3次 {,3}表示前面的数字最多出现3次 匹配包含制表符的行

代码语言:javascript复制
grep -P -n 't' passwd

第七行包含一个tab键,所以匹配到第七行 匹配包含空格的行

代码语言:javascript复制
grep -P -n 's' passwd

s匹配空白字符,所有第五行和第七行都匹配出来了

0 人点赞