扩展正则表达式egrep
发布时间:2020-12-14 06:17:52 所属栏目:百科 来源:网络整理
导读:正则表达式分为:基本正则表达式和扩展正则表达式。 基本正则表达式支持的字符匹配有: . :任意单个字符 [] :中括号范围内的任意单个字符 [^]:范围内以外的任意单个字符 次数匹配: *:前面字符的可以任意次数 ?:前面字符可以出现0次或1次 .*:任意长
正则表达式分为:基本正则表达式和扩展正则表达式。
基本正则表达式支持的字符匹配有: . :任意单个字符 [] :中括号范围内的任意单个字符 [^]:范围内以外的任意单个字符 次数匹配: *:前面字符的可以任意次数 ?:前面字符可以出现0次或1次 .*:任意长度任意字符 {m,n}:前面那个字符最少出现m次,最多出现n次,n可以省略,表示最大次数没有限制 锚定 ^:表示后面出现的字符只能出现在行首 $:表示后面出现的字符只能出现在行尾 &;,b:后面出现的字符只能是在单词的前面 &;,b:后面出现的字符只能是在单词的后面 分组: ():括号内的字符分为一组,如果和1,2,3..连用表示第一组第二组第三组。。。 扩展正则表达式egrep或者grep -E egrep或grep -E拥有基本正则表达式的功能,同时又有支持新的元字符和不同点,比如说,在次数匹配上: +:表示前面的那个字符至少出现一次 {m,n}:前面那个字符最少出现m次,最多出现n次,n可以省略,表示最大次数没有限制,不需要使用 做转义 分组: ():括号内分为一组,不需要使用 转义 支持: | :or或者,如egrep ‘C|cat’ xx.txt,表示找出xx.txt文件中有C或者cat的行,‘(C|c)at’ 这个表示找出Cat或者cat的行 用法实例:找出ifconfig命令中符合ipv4常用的ip地址: ipv4有5类分别是A B C D E A:1-127 B:128-191 C:192-223 DE类一般不用 命令: ifconfig | egrep ‘&;(([1-9]|[1-9][1-9]|1[0-9][0-9]|2[0-2][0-3]).(([0-9]|[1-9][1-9]|1[0-9][0-9]|2[0-2][0-3]).){2}([1-9]|[1-9][1-9]|1[0-9][0-9]|2[0-2][0-3]))&;‘ --color -o 分析(这条命令用于找出符合0-223的数字段的ip):ifconfig查看网络配置的相关信息,| 将ifconfig的输出传递到后面的egrep命令,([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-2][0-3])表示ip地址的第一段如果是一位数,则第一个数是1-9(第一个数不能为0),两位数10-99,三位数100-199或者200-223,同时用()表示这里面是一组,. 表示小数点,要转义,后面ip的第二段和第三段是一样的所以{2}表示重复两次,最后一段同理只是不能为0,--color标记匹配的颜色,方便区分,-o仅显示匹配到的字符串,最后的那组()表示吧整个匹配到的分为一组,&; (……) &;表示这里面只能是整个单词出现,注意像 . : 等不属于单词的一部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |