码迷,mamicode.com
首页 > 系统相关 > 详细

Linux正则表达式-选择性操作与分组操作

时间:2015-06-08 09:54:51      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:正则表达式   linux正则表达式   选择性操作   分组操作   

选择性操作
竖线(|)字符是元字符扩展集的一部分,用于指定正则表达式的联合。如果某行匹配其中的一个正则表达式,那么它就匹配该模式。例如,正则表达式:UNIX|LINUX
将匹配包含字符串"UNIX" 或字符串"LINUX" 的行。可以指定更多的选择,例如:
UNIX|LINUX|NETBSD

使用egrep时,打印匹配这3种模式中任意一种的行。
在sed中,没有联合元字符,可以分别指定每种模式。在下面内容中,我们将考虑分组的操作,我们将看到关于这个元字符的其他示列。


分组操作
圆括号()用于对正则表达式进行分组并设置优先级。它们是元字符扩展集的一部分。假设在文本文件中公司的名称为"BigOne" 或"BigOne Computer" ,使用表达式:
BigOne(Computer)?

将匹配字符串"BigOne" 本身或后面跟有一个字符串" Computer" 的形式。同样,有些术语有时会用全拼,有时会用缩写、则可以使用:
$ egrep "Lab(oratorie)?s" mail.list
Bell Laboratories, Lucent Technologies
Bell Labs
可以使用竖线和圆括号来对选择性操作进行分组。在下面的示列中,我们使用它来指定与单词"company" 的单数或复数匹配。

compan(y|ies)
要注意,在大多数sed和grep的版本中不能对加圆括号的一组字符应用数量词,但是在egrep和awk 的所有版本中都是可以的。

参考资料:http://www.linuxawk.com/communication/455.html

Linux正则表达式-选择性操作与分组操作

标签:正则表达式   linux正则表达式   选择性操作   分组操作   

原文地址:http://blog.csdn.net/xiyangyang052/article/details/46404283

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!