shell中关于[]{}连在一起的用法

本文通过实例详细解析了正则表达式的使用技巧,包括如何匹配特定长度的数字序列及IPv4地址格式,有助于读者深入理解并掌握正则表达式的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看到一个例子中有条语句:

date_d=$(echo $date2 |grep '[0-9]\{8\}')            //判断变量date2中是否有八个连续的数字

可以通过下面的例子了解下:

例一:

#echo "123456789" |grep '[0-9]\{8\}'
输出:123456789

[0-9]:表示数字范围

{8}:表示前面的数字出现8次,正则中{ }需要转义

{1,3}:表示前面的数字出现1-3次,即:2、98、955都满足

例二:

#echo "1234gd56789" |grep '[0-9]\{8\}'

输出为空

#echo "1234gd5673432489" |grep '[0-9]\{8\}'
输出:1234gd5673432489                                                //由此看出必须是连续的8个数字才能满足条件


下面的例子更加容易理解:

例三:"grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'" 用于过滤IPv4地址

[0-9]{1,3} :表示数字出现1-3次; 比如:192、2、10等

.:\. dot需要转义;


([0-9]{1,3}\.){3}表示前面小括号的内容出现3次; 比如192.1.10. 或者10.0.21. 或者172.0.0. 或者127.12.34. 等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值