扩展正则表达式egrep

正则表达式分为:基本正则表达式和扩展正则表达式。
基本正则表达式支持的字符匹配有:

    . :任意单个字符
    [] :中括号范围内的任意单个字符
    [^]:范围内以外的任意单个字符

次数匹配:

    *:前面字符的可以任意次数
    \?:前面字符可以出现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仅显示匹配到的字符串,最后的那组()表示吧整个匹配到的分为一组,\< (……) \>表示这里面只能是整个单词出现,注意像 . : 等不属于单词的一部分。

原文地址:http://blog.51cto.com/13803030/2134663

时间: 2024-10-11 09:08:32

扩展正则表达式egrep的相关文章

egrp及扩展正则表达式

正则表达式:Basic REGEXP Extended REGEXP:扩展 基本正则表达式: 匹配字符: .:任意单个字符 []:范围内的任意单个字符 [^]:匹配范围外的任意单个字符 次数匹配: *:其前的字符任意次 ?:其前的字符0次或1次 \{\m,n\}:其前的字符至少m次,至多n次 锚定: ^:锚定行首 $:锚定行尾 \<:锚定词尾 \>:锚定词尾 \(\):分组 grep:使用基本正则表达式定义的模式来过滤文本的命令 -i:忽略字符大小写 -v:反向搜索,不匹配的显示,匹配的不显示

Egrep 扩展正则表达式及实例

grep -E  [OPTIONS] PATTERN [FILE...] -E:扩展正则表达式 字符匹配 .:任意单个字符 []:指定范围内的任意单个字符 [^]:指定范围外的任意单个字符 次数匹配 *:匹配其前字符任意次 ?:匹配其前字符0次或1次,不需要加反钭线\ +:匹配其前字符至少一次,相当于\{1,\}(?+组合相当于*) {m,n}:匹配其前字符至少m次至多n次,不需要加反钭线\ 位置锚定 ^ CHARE:行首锚定 CHARE $:行尾锚定 \< CHARE:词首锚定 CHARE \

egrep及扩展正则表达式 与正则表达式不同处

egrep及扩展正则表达式与正则表达式不同处 正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展扩展,在元字符的表示上与基本正则表达式略不同. 1.命令格式: egrep [option] pattern file 2.命令功能: 用于过滤/搜索的特定字符.可使用扩展正则表达式能多种命令配合使用,使用上十分灵活. 3.命令参数:  egrep等同于grep -E选项 扩展正则表达式的元字符: 字符匹配

【grep】【egrep】【基本 / 扩展正则表达式】

正则表达式: 由一类字符书写的模式,其中有些字符不表示字符的字面意义,而是表示控制或通配的功能 Linux grep命令: 简介 grep (globl search regular expression(RE) and print out the line)是一种强大的文本搜索工具,他能使用正则表达式搜索文本,并把匹配的行打印出来 使用格式: grep [OPTION]... 'PATTERN' FILE... grep常用选项: -v: 反向选取 -o: 仅显示匹配到内容 -i: 忽略字符大

Linux常用命令—egrep及扩展正则表达式

扩展正则表达式 扩展正则表达式命令:egrep 不支持正则表达式但是快速:fgrep 字符匹配: .: []: [^]: 次数匹配: *: ?: +:匹配其前面的字符至少一次 {m}:精确匹配 {m,n}无需反斜线: 位置锚定: ^: $: \<或者\b: \>或者\b: 分组: ():分组 \1,\2,\3,...... 或者 |:或(a|b) 例: C|cat=C或者cat (C|c)at=Cat或者cat 懒惰限定符 *?         重复任意次,但尽可能少重复 +?        

egrep 及扩展正则表达式

grep -E 表示支持扩展的正则表达式 grep -E = egrep 一.字符匹配: 扩展模式下的字符匹配与基本正则表达式的字符匹配相同,如: . 表示任意单个字符 [] 表示范围内人任意单个字符,如[0-9],表示任意单个数字 [^] 表示范围外的任意单个字符,如[^0-9],表示出数字外的任意单个字符 二.次数匹配: 上述字符匹配中,基本正则表达式与扩张表达式完全相同,但次数匹配就有些不一样了. * 匹配前面字符任意次,与基本正则表达式意义相同 ? 匹配其前字符0次或1次,其前面不需要

linux下egrep文件内容搜索工具及扩展正则表达式详解

egrep命令: 根据模式(文本字符和扩展正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:egrep [选项] 匹配条件 文本名称 egrep 等于 grep -E 选项:  -i:  忽略大小写 -v: 显示没有被模式匹配到的行 -o:只显示被模式匹配到的字符串 --color: 搜索出来文件高亮度显示 -A: 匹配指定行的下几行 -B: 匹配指定行的上几行 -C: 匹配指定行的上下几行 正则表达式:Regular Expression, 简称REGEX

egrep和扩展正则表达式、条件表达式、算术运算

Linux05 Linux05_01?egrep使用和扩展正则表达式 REGEXP:REGular EXPression,其本身可能并不表示其本身的意思,而是做锚定等特殊意义的 Pattern: 由正则表达式元字符和字符组合起来用于过滤文本的过滤条件 正则表达式: Basic REGEXP:基本 Extended REGEXP:扩展 基本正则表达式: .: []: [^]: 次数匹配: *: \?: 0或1次 \{m,n\}:至少m次,至多n次: .*: 锚定: ^: $: \<, \b: \>

8_Shell语言———扩展正则表达式和egrep、fgrep命令

egrep命令等同于 grep命令加上 -E选项,它支持扩展的正则表达式. 扩展正则表达式和基本正则表达式类似,不同之处在于增加了一些新功能,部分元字符的用法也略有不同: .:任意单个字符 []:指定范围内的任意单个字符 [^]:取反 *:匹配其前的字符0次.1次或多次 ?:0次或1次 {m,n}:至少m次,至多n次 \<:词首锚定 \>:词尾锚定 ^:行首锚定 $:行尾锚定 -----------上述部分和基本正则表达式一致-------- +:匹配其前的字符至少一次,等同于\{1,\} 注