Linux基础命令之grep 正则表达式  REGular EXPression

grep :

根据pattern(模式)搜索文本,并将符合模式的文本行显示出来,并不会修改原文件

用法: grep  [options]   ‘ pattern ‘  /file       #也可以利用管道进行匹配

-i  ignore  忽略大小写

--colour  将匹配的字符串加颜色。

-v  反向查找,显示与pattern不匹配的行

-o  只显示被模式匹配到的字符串

工作在贪婪模式下,尽可能多的去匹配。

元字符:

.  :匹配任意单个字符

[ ]  :匹配范围内任意单个字符

[:digit:] 数字 [:lower:] 小写字母 [:upper:] 大写字母 [:punct:] 标点 [:space:] 空格 [:alpha:]  所有字符       [:alnum:] 所有字母与数字

用法为:[[:digit:]]

[^] :匹配范围外任意单个字符

匹配字符个数:

* :匹配前面的字符任意次(包括0次)

.* :任意长度的任意字符

? :匹配前面的字符1次或者0次,一般要加

{m,n} :匹配其前面的字符至少m次,至多n次。

{1,} :匹配前面的字符至少1次

 

位置锚定:

^ :锚定行首,此字符后面的任意内容必须出现在行首

$ : 锚定行尾

^$ :空白行

或 < :此字符后面的任意字符必须作为单词的首部出现

或 > :此字符前面的任意字符必须作为单词的尾部出现

分组

() 用法区别: ab*    (ab)*

可以后向引用:  he love his lover

She like her liker

He like his lover

1 :表示调用前面第一个左括号以及与之对应的右括号所包括的所有内容。

2 :……