Linux基础(10)论grep 与egrep的区别
2016-07-14 09:48
330 查看
egrep或者grep -E与grep相比进行文本匹配的时候使用的扩展的正则表达式,那么扩展的正则表达式与正则表达式有什么区别呢?
1基本的正则表达式:
字符匹配:
.: 任意单个字符
[]: 某一字符集中的单个字符 例如[0-9]表示任意个位数
[^]:不属于某一字符集中的单个字符 例如[^[:space:]]表示任意非空白字符
次数匹配:
*:任意次
\?: 0或1次
\{m,n\}:至少m次,至多n次;
.*: 任意长度的任意字符
锚定:
^: 行首锚定
$: 行尾锚定
\<, \b:词首
\>, \b:词尾
元组引用:
\(\)
\1, \2, \3, ...
====================================================================================
2.扩展的正则表达式
字符匹配:
.
[]
[^]
次数匹配:
*: 匹配前面的字符任意多次
?: 匹配前面的字符0次或者1次
+: 匹配其前面的字符至少1次
{m,n} 匹配前面的字符至少m次,至多n次 注意:与基本正则表达式相比 不需要再转义
位置锚定:
^ 行首
$ 行尾
\< 或者\b ### 词首
\> 或者 ###\b 词尾
元组:
():元组 注意 :与基本正则表达式相比,不需要再转义
\1, \2, \3, ...
或者
|: or
注意:这是扩展正则表达式才有的功能 若要grep支持,必须用grep -E
注意: 用于选择的内容必须加入到括号中
(C|c)at: Cat或cat
C|cat :C 或者cat
由比较可知,基本正则表达式与扩展正则表达式的区别在于
1.次数匹配上,扩展正则表达式多了一个+代表匹配前面的字符至少一次 相当于\{1,\}
2.扩展正则表达式{m,n}不再需要转转义
3.扩展正则表达式的分组()也不再需要转义
4.正则表达式多了一个或者|
那么我们在文本模式匹配的时候可以考虑使用扩展的正则表达式,从而避免使用过多的转义字符\
本文出自 “厚积薄发” 博客,请务必保留此出处http://joedlut.blog.51cto.com/6570198/1826252
1基本的正则表达式:
字符匹配:
.: 任意单个字符
[]: 某一字符集中的单个字符 例如[0-9]表示任意个位数
[^]:不属于某一字符集中的单个字符 例如[^[:space:]]表示任意非空白字符
次数匹配:
*:任意次
\?: 0或1次
\{m,n\}:至少m次,至多n次;
.*: 任意长度的任意字符
锚定:
^: 行首锚定
$: 行尾锚定
\<, \b:词首
\>, \b:词尾
元组引用:
\(\)
\1, \2, \3, ...
====================================================================================
2.扩展的正则表达式
字符匹配:
.
[]
[^]
次数匹配:
*: 匹配前面的字符任意多次
?: 匹配前面的字符0次或者1次
+: 匹配其前面的字符至少1次
{m,n} 匹配前面的字符至少m次,至多n次 注意:与基本正则表达式相比 不需要再转义
位置锚定:
^ 行首
$ 行尾
\< 或者\b ### 词首
\> 或者 ###\b 词尾
元组:
():元组 注意 :与基本正则表达式相比,不需要再转义
\1, \2, \3, ...
或者
|: or
注意:这是扩展正则表达式才有的功能 若要grep支持,必须用grep -E
注意: 用于选择的内容必须加入到括号中
(C|c)at: Cat或cat
C|cat :C 或者cat
由比较可知,基本正则表达式与扩展正则表达式的区别在于
1.次数匹配上,扩展正则表达式多了一个+代表匹配前面的字符至少一次 相当于\{1,\}
2.扩展正则表达式{m,n}不再需要转转义
3.扩展正则表达式的分组()也不再需要转义
4.正则表达式多了一个或者|
那么我们在文本模式匹配的时候可以考虑使用扩展的正则表达式,从而避免使用过多的转义字符\
本文出自 “厚积薄发” 博客,请务必保留此出处http://joedlut.blog.51cto.com/6570198/1826252
相关文章推荐
- 关于Linux系统清理/tmp/文件夹 清理时间问题
- Linux下常用vim操作快捷键
- 微软发布新版 Skype Linux 客户端
- Linux操作系统:文件搜索命令
- Linux 存储结构与磁盘划分
- Linux操作系统:文件和目录命令
- Linux操作系统:系统的关机、重启以及登出命令
- linux下热插拔事件的产生是怎样通知到用户空间,kobject_uevent_env之uevent_helper
- linux操作系统:系统信息命令
- linux下热插拔事件的产生是怎样通知到用户空间,kobject_uevent_env之uevent
- linux 命令总结(持续更新)
- linux下如何隐藏进程(ps/top)
- Linux 存储结构与磁盘划分
- Linux ADF显示框架理解
- 【Linux全面学习】3.Linux如何管理分区
- linux 远程操作命令 SSH SCP
- 如何在 Linux 上录制你的终端操作
- 每天一个linux命令(48)--ln命令
- linux编程之pipe()函数
- linux下的source和export命令分析