linux命令行与shell脚本大全_第十九章_正则表达式

1.特殊字符



转义用\

匹配行首^

匹配行尾 $

删除文本中空白行:sed '/^$/d' sed_data.txt

匹配一个字符:使用.

字符数组:将指定的字符放在中括号中

echo "Yes" | sed -n '/[Yy]es/p'
echo "yes" | sed -n '/[Yy]es/p'

echo "I'm getting too fat." |sed -n '/[a-ch-m]/p'   可以由多个区间组成


2.特殊匹配



3.量词

(1)*  :匹配0次或多次

(2)?:匹配0次或一次  gawk可用 sed不支持

(3)+ :匹配1 次 或多次

(4){n,m}:限定匹配

(5)|:来表示匹配中的或


4.句话表达式

使用()括起来的可以当作一个字符使用量词

echo "Sat" |gawk '/Sat(urday)?/{print $0}'  匹配urday 0次或1次




5.例子

电话号码:


echo "(123)456-7890" | gawk '/^\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-.]{1}[0-9]{4}/{print $0}'
echo "(123) 456-7890" |gawk '/^\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-.]{1}[0-9]{4}/{print $0}'
echo "123-456-7890" |gawk '/^\(?[0-9]{3}\)?[-. ]?[0-9]{3}(-|.)[0-9]{4}/{print $0}'
echo "123.456.7890" |gawk '/^\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-.]{1}[0-9]{4}/{print $0}'







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值