您的位置:首页 > 运维架构 > Shell

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

2017-04-09 23:50 766 查看
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}'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: