什么是正则表达式:
它是用来处理字符串的方法,以行为单位来进行字符串的处理行为,可以让用户达到查找、删除、替换某些特定字符串的处理程序。
基础正则表达式:
1、查找特定字符串
grep -n 'the' 文件名
作用是从文件当中取出the这个特殊字符串。

如果想反向选择,就是说选出不含有‘the’这个关键字的行,可以使用:
grep -vn 'the' 文件名

如果你想取得无论大小写的‘the’,可以使用:
grep -in 'the' 文件名

2、利用中括号[ ]来查找集合字符
就是说如果我想查找有共同的‘t?st’字符的,可以使用:
grep -n 't[ae]st' 文件名
就是说[ ]里面无论有几个字符,它只能代表一个字符。
如果我我想查找含有‘OO’,但是在‘OO’前面没有‘g’的,可以使用集合字符的反向选择[^]来完成:
grep -n '[^g]oo' 文件名
3、行首与行尾字符^$
什么意思?就是当我们希望查找以‘the’这个单词打头的句子,可以使用:
grep '^the' 文件名
如果我想要开头不是英文字母开头的,可以使用:
grep -n '^[^a-zA-z]' 文件名
注意到了吗:^这个符号在字符集合符号[ ]之内与之外是不同的。在[]之内代表的是“反向选择”,在[]之外表示的是“定位在行首”。
如果我们现在要选取行尾以小数点结尾的那一行,该如何处理?
grep -n '\.$'文件名
注意,这里使用了反斜杠\,代表转义字符,因为‘.’在有其特殊含义。
网友评论