嵌入式学习之——linux中正则表达式

  • xidianzxc
  • LV3工程师
  • |      2014-11-21 01:32:16
  • 浏览量 827
  • 回复:1

           今天来说说linux中正则表达式,正则表达式是用来匹配内容中的字符串的,下面我们来介绍部分正则表达式

1.       *”前一个字符匹配0次或者任意多次

我们新建一个测试文件test.txt,文件内容如下:

嵌入式学习之——linux中正则表达式

我们使用如下命令:

     嵌入式学习之——linux中正则表达式

大家可能第一眼觉得是匹配含有a的字符串,那么我们回车看看结果:

      嵌入式学习之——linux中正则表达式

可以看见它打印除了所有文件的内容,‘a’之所以会显示颜色,是因为之前我对grep命令默认设置了颜色。为什么呢,因为“a*”的意思是匹配含有0个“a”或者任意多个“a”的字符串,那么就是无论是否含有“a”都符合条件,所以打印出了所有内容。所以我们一定要记得,这种用法是没有意义的。

我们继续输入如下的命令:

      嵌入式学习之——linux中正则表达式

这时才是查询含有1个“a”的字符串。 

2.       .”匹配除了换行符外任意一个字符

       嵌入式学习之——linux中正则表达式

上图使用“.”来匹配xd之间有一个字符的字符串。

3.       ^”匹配行首

      嵌入式学习之——linux中正则表达式

上图来匹配以字母“c”开头的行。

4.       $”匹配行尾

      嵌入式学习之——linux中正则表达式

上图来匹配以字母“c”结尾的行。

5.       ”匹配中括号中指定的任意一个字符

      嵌入式学习之——linux中正则表达式

上图用来匹配se之间有pde之中有任意一个字符的字符串。

6.       “ ”转义符

      嵌入式学习之——linux中正则表达式

使用转义字符使“.”失去表示任意一个字符的作用,而只表示一个点,上图用来匹配以“.”结尾的行。

7.       “{n}"表示前面的字符恰好出现n

      嵌入式学习之——linux中正则表达式

上图表示前面恰好出现4个数字的行,其中表示出现09之中的任意一个,也就是出现数字的意思。

到此,我就介绍了正则表达式的部分用法,希望大家和我多多交流~

小白我这个系列的帖子已经做了汇总,这是第本系列第13篇帖子,汇总贴是:嵌入式入门学习笔记系列 (点击蓝色字符可以直接进入),欢迎大家和我交流~

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
shaoziyang 2014-11-21
顶一个。
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子