加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 22:32:25 所属栏目:百科 来源:网络整理
导读:文本搜索工具,根据用户指定的文本模式(正则表达元字符以及正常字符组合而成)对目标文件进行逐行搜索,显示能匹配到的行; grep命令: grep [OPTIONS] PATTERN [FILE...] -o: 只显示被模式匹配到的内容 -i: ignore case,不区分字符大小写 -v: 显示不能够

文本搜索工具,根据用户指定的文本模式(正则表达元字符以及正常字符组合而成)对目标文件进行逐行搜索,显示能匹配到的行;

grep命令:

grep [OPTIONS] PATTERN [FILE...]

-o: 只显示被模式匹配到的内容

-i: ignore case,不区分字符大小写

-v: 显示不能够被模式匹配到的行

-E:使用扩展的正则表达式 或egrep

正则表达式:REGular EXPression REGEXP

是由元字符及正常字符所书写的模式,其中的元字符不表示字符本身的意义,而是用于表达控制或通配等功能;

基本正则表达式元字符:

字符匹配:

. :匹配任意单个字符

[]: 匹配指定范围内的任意单个字符

[^]: 匹配指定范围外的任意单个字符

[0-9],:匹配数字0-9

[a-z]:匹配字符a-z

[:lower:]:匹配所有小写字母

[:upper:]:匹配所有大写字母

[:digit:]:匹配所有数字

[:alpha:]:匹配所有字母包括大小写

[:alnum:]:匹配所有字母和数字

[:punct:]:匹配所有的标点符号

[:space:]:匹配所有的空白字符

次数匹配:在期望匹配字符后面提供一个控制符,用于表达匹配其前面字符指定的次数

* : 任意长度,表示0次、1次或多次;

?:0次或1次;表示其左侧字符可有可无

+: 1次或多次;表示其左侧字符至少出现1次

{m}:m次;表示其左侧字符精确出现m次;

{m,n}:至少m次,至多n次;

位置锚定:

^: 锚定行首: ^PATTERN

$: 锚定行尾: PATTERN$

^PATTERN$:用模式来匹配整行

^$: 匹配空白行;


单词锚定:由非特殊字符组成的连续的字符串

&; :锚定词首,也可用b &;PATTERN,或bPATTERN

&; :锚定词尾,也可以用b &; :锚定词尾,也可以用b

&;PATTERN&;:匹配PATTERN能匹配到的整个单词



例题:

1、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

egrep -i ^s /proc/meminfo

2、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

egrep "^[[:space:]]+" /boot/grub/grub.conf

3、、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

egrep "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit


4、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行

Egrep -o "&;[[:alnum:]]+&;()" /etc/rc.d/init.d/functions


5、找出/etc/passwd文件中的一位数或两位数;

egrep --color=auto "&;[0-9]{1,2}&;" /etc/passwd

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读