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

shell脚本编程4:正则表达式

2017-12-14 18:41 603 查看
正则表达式:
(使用一些特殊符号来表达)正则在计算机中为通用语言
[java php python shell grep vim sed awk ] [office ps AE...]都使用
基本正则兼容性强书写麻烦,几乎所有的软件都支持基本正则;扩展正则兼容性差书写简单不是所有软件都支持扩展正则;(grep不支持扩展则正则但是egrep支持)

基本正则

^ 开始

$ 结尾

[ ] 集合中任一单个字符
[abcdefg]=[a-g] [abcde123456]=[a-e1-6]
[abcdem1234568]=[a-e1-6m8]
grep “[abc]” 1.txt
This is a pig
This is abc (两个都能匹配出来)

[^] 对集合取反

. 代表任意单个字符

匹配前一个字符出现了n次
grep “abc” a.txt (匹配的是ab abc abcc abccc abcccc ......)
. 匹配所有

{n,m}匹配前一个字符出现n-m次
Grep “abc{3,5}” a.txt (匹配的是abccc abcccc abcccccc abccccccc ......)
{n,}匹配前一字符出现了n次或更多
{n}匹配前一字符出现了n次
Grep -i 不区分大小写 -v取反 -n显示行号 -c统计过滤出来的行数

扩展正则(优化基本、添加新的):

{n,m} 匹配字符出现n-m次({n,} {n}) 与{n,m}作用相同

? 匹配0或1次

1或大于一次 (? + 的作用与*的作用相同)

() 表示一个整体

| 表示或者 (test | taste)

\b 单词边界

() 保留<相当于赋值了一份>

()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则 表达式 shell