且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-16 21:09:16

正则表达式:
(使用一些特殊符号来表达)正则在计算机中为通用语言
[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 单词边界

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

()










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2050753,如需转载请自行联系原作者