egrep 及扩展正则表达式

grep -E 表示支持扩展的正则表达式

grep -E = egrep

一、字符匹配:

扩展模式下的字符匹配与基本正则表达式的字符匹配相同,如:

. 表示任意单个字符

[] 表示范围内人任意单个字符,如[0-9],表示任意单个数字

[^] 表示范围外的任意单个字符,如[^0-9],表示出数字外的任意单个字符

二、次数匹配:

上述字符匹配中,基本正则表达式与扩张表达式完全相同,但次数匹配就有些不一样了。

* 匹配前面字符任意次,与基本正则表达式意义相同

? 匹配其前字符0次或1次,其前面不需要 \ 转义

+ 匹配其前字符至少一次,等于基本正则表达式的  \{1, \}           ?+ = *

{m,n} 匹配其前字符至少m次,最多n次,等于基本正则表达式的\{m,n\}

三、位置锚定

与基本正则表达式完全意义,请参考上一篇。

四、分组

基本正则表达式中支持分组,而在扩展正则表达式中,分组的功能更加强大,也可以说才是真正的分组,用法如下:

():分组,后面可以使用\1 \2 \3...引用前面的分组

除了方便后面引用外,分组还非常方便的可以使用上述次数匹配方法进行匹配具有相同条件的数据。

如:grep ‘^(int).*\1‘  *.txt 搜索文件*.txt中以int开头,而后面还存在int的行

所以,要加上grep -E参数 

如:grep ‘^(barlow).*\1‘ /etc/passwd 搜索/etc/passwd中以barlow开头,而后面还存在barlow的行

五、或者

| 表示或,如 : a|b 表示匹配a或者b

E|times 匹配E或times,即 | 匹配的是其整个左边或者右边

同样效果:

$egrep ‘(T|t)imes‘  *txt

六、应用实例

大家可以自己手动测试。

时间: 2024-10-25 03:10:29

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

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

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

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

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

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

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

2017-12-16Linux基础知识(17)egrep扩展正则表达式

回顾一下上一章所讲的内容,在上一章当中我们讲述了文本处理工具grep命令,它是由用户根据指定的"模式"来进行行匹配,默认为贪婪模式,讲匹配到的结果进行打印到标准输出中来,而正则表达式是由一群特殊的字符所编写的,其中有一些字符并不代表原有的字面意义,而是用于控制或通配的功能,而正则表达式共分类两类,一类是基本正则表达式,另一类是扩展正则表达式,二者区别就是它们的元字符有所不同,而元字符就是用来匹配和控制的功能,那么在这一章当中我们讲述egrep及扩展正则表达式命令. 一.egrep命令

基本正则表达式与扩展正则表达式

什么是正则表达式 通过符号.符号与字母数字的组合,来描述文本的特征.这些字符不代表字符原本的意义,而是表示控制和通配.这此符号和符号与字母的组合称为元字符. 为什么要用正则表达式,用在什么地方. 正则表达式可以匹配一段文本的特征,比如年月日,空白行,单词,一行文本,IP地址等.这样可以根据某些文本,然后查找到那些文件中包含了这些内容.还可以根据这些特征找到的文本进行复制,删除,替换,或者赋值给一个变量等.很多编程语言都支持正则表达式,它们可能支持的正则表达式引擎不同,表示方法略有不同.vi,gr

【Linux相识相知】文本处理工具之grep\egrep\fgrep及正则表达式

常说Linux上有文本处理的三剑客,grep.sed和awk,本文就grep做出详细的描述,并引出正则表达式. grep NAME:打印模式匹配的行 SYNOPISIS: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] 常用选项: --color=auto:对匹配到的文本着色后进行高亮显示,默认已被别名alias grep='grep --color=auto' -i:忽略字符的大小

grep 使用整理 正则表达式 扩展正则表达式

名字 grep, egrep, fgerp 解释: grep是一个最初用于Unix操作系统的命令行工具. 在给出文件列表或标准输入后, grep会对匹配一个或多个正则表达式的文本进行搜索, 并只输出匹配(或者不匹配)的行或文本. 用法: grep [option] 'PATTERN' file ... --color=auto           常用选项[option]:                -v : 反向匹配, 显示不能被模式匹配到的行.                -o : 只

Egrep 扩展正则表达式及实例

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

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

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