今天来说说linux中正则表达式,正则表达式是用来匹配内容中的字符串的,下面我们来介绍部分正则表达式。
1. “*”前一个字符匹配0次或者任意多次
我们新建一个测试文件test.txt,文件内容如下:
我们使用如下命令:
大家可能第一眼觉得是匹配含有a的字符串,那么我们回车看看结果:
可以看见它打印除了所有文件的内容,‘a’之所以会显示颜色,是因为之前我对grep命令默认设置了颜色。为什么呢,因为“a*”的意思是匹配含有0个“a”或者任意多个“a”的字符串,那么就是无论是否含有“a”都符合条件,所以打印出了所有内容。所以我们一定要记得,这种用法是没有意义的。
我们继续输入如下的命令:
这时才是查询含有1个“a”的字符串。
2. “.”匹配除了换行符外任意一个字符
上图使用“.”来匹配x和d之间有一个字符的字符串。
3. “^”匹配行首
上图来匹配以字母“c”开头的行。
4. “$”匹配行尾
上图来匹配以字母“c”结尾的行。
5. “”匹配中括号中指定的任意一个字符
上图用来匹配s和e之间有pde之中有任意一个字符的字符串。
6. “ ”转义符
使用转义字符使“.”失去表示任意一个字符的作用,而只表示一个点,上图用来匹配以“.”结尾的行。
7. “{n}"表示前面的字符恰好出现n次
上图表示前面恰好出现4个数字的行,其中表示出现0到9之中的任意一个,也就是出现数字的意思。
到此,我就介绍了正则表达式的部分用法,希望大家和我多多交流~
小白我这个系列的帖子已经做了汇总,这是第本系列第13篇帖子,汇总贴是:嵌入式入门学习笔记系列 (点击蓝色字符可以直接进入),欢迎大家和我交流~