正则表达式

Linux的基础正则表达式如下:

正则表达式_第1张图片


1、* 的用法:对前一个字符重复0次或者任意多次操作!

     在test.txt文件中写入如下内容:

正则表达式_第2张图片

然后执行如下命令发现:Linux中当*作为通配符时匹配的任意的字符,而在正则表达式中表示的是重复前一个字符0次或者n次

正则表达式_第3张图片

正则表达式_第4张图片


2、. 匹配除换行符的任意一个字符,类似于通配符中的?号。

正则表达式_第5张图片

3、^ and $ :匹配行首和行尾,其中"^$"表示空白行

正则表达式_第6张图片


在test.txt后面增加几行:

正则表达式_第7张图片


4、[ ] 只匹配括号中的一个字符;

正则表达式_第8张图片

5、[^] 表示匹配中括号的字符以外的任一字符;注:Linux中不能以[A-z]表示所有大小写字母

正则表达式_第9张图片


5、"\{n\}"前面的字符刚好出现n次,"\{n,\}"前面的字符出现n(包含)次以上。实验结果发现,"\{n\}"与"\{n,\}"在两边没有”定界符”时匹配的结果可以说是相同的。同时也可以看出,"\{n\}"匹配的结果是大于或等于n次,且每行grep匹配的时候是先匹配n个,再匹配剩下的,如果不够n就不匹配,如果大于或等于则继续匹配,一直到匹配完每一行

正则表达式_第10张图片

当有定界符时,匹配的才是恰好出现n次。

正则表达式_第11张图片


6、\{n,m\}表示前面的字符至少出现n次最多m次

正则表达式_第12张图片



你可能感兴趣的:(Linux,正则表达式)