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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值