正则表达式(REGULAR EXPRESSIONS)

匹配操作符
  • 转义字符:\
  • 匹配任意单个字符:.
  • 字符序列单字符占位:[1249a],[^12],[a-k]
  • 行首:^
  • 行尾:$
  • 单词首尾边界:<,>,:,<abc
  • 连接操作:|
  • 选择操作符:(,)
  • 反向引用:\n
重复操作符:
  • 匹配0或1次:?
  • 匹配0到多次:*
  • 匹配1或多次:+
  • 匹配n次:{n}
  • 匹配n到多次:{n,}
  • 匹配n到m次:{n,m}
以下符号是扩展表达式,使用需要加"\"

"?" "+" "{" "}" "|" "(" ")"

匹配任意字符

.*

eg01:匹配包含单词以apple开头的行

[root@node01 ~]# grep "\<apple" exp.txt

eg02:匹配包含单词以apple结尾的行

[root@node01 ~]# grep "apple\>" exp.txt

eg03:匹配含有apple单词的行

[root@node01 ~]# grep "\<apple\>" exp.txt

eg04:匹配任意字符的使用:.*

[root@node01 ~]# grep ".*apple.*pear.*banana" exp.txt
abcapple123pearbbbbbananaqqqadf

eg05:选择操作符:(,)

[root@node01 ~]# grep ".*\(apple\).*\(pear\).*\1.*\2" exp.txt 
qwerappletyuipearasdfapplezxcvbpearhjkl

eg06:匹配文件中包含四位整数的文本行

  • 写法一
    将每一种包含四位整数的情况用“|”连接起来
[root@node01 ~]# grep -E  "^[0-9]{4}[^0-9]|[^0-9][0-9]{4}[^0-9]|[^0-9][0-9]{4}$|^[0-9]{4}$" exp.txt
  • 写法二
    以一个四位整数为整体分隔成三部分,左边可以是以数字开头也可以是非数字开头(但后面必须有一位数字),中间是两位数字,右边可以是数字结尾或者是非数字结尾(但必须在最前面有一位数字)
[root@node01 ~]# grep -E "(^[0-9]|[^0-9][0-9])[0-9]{2}([0-9]$|[0-9][^0-9])" exp.txt
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,198评论 0 9
  • 介绍 正则表达式(Regular expressions)有两个用处: 辨别字符是否匹配一个pattern 对字符...
    杰宝大王阅读 1,228评论 0 0
  • 原文来自:http://www.admin10000.com/document/5944.html 一、什么是正则...
    xcp123阅读 175评论 0 1
  • 一、什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否...
    sheldon_龙阅读 170评论 0 0
  • iOS -正则表达式的简单使用 ✨建议收藏,用到时候一查就明白了 下面两个方法我用的也不是很熟练,如果有懂得朋友欢...
    xx_cc阅读 8,582评论 17 177