正則表達式 Reguler EXPression , REGEXP
Basic REGEXP:基本正則表達式
Extended REGEXP:擴展正則表達式
1、grep [options] 模式 [files] 使用基本正則表達式模式過濾文本的命令
-i 忽略大小寫
--color 加顏色
-v 反向查找
-o 只顯示被模式匹配到的字符串
-E 支持擴展的正則表達式
-A n : 不僅顯示匹配內容而且匹配該行下面的n行也顯示
-B n : 不僅顯示匹配內容而且匹配該行上面的n行也顯示
-C n : 不僅顯示匹配內容而且匹配該行上面和下面的n行也顯示
模式規則
. 匹配任意單個字符
[] 匹配指定範圍內的任意單個字符
[^] 匹配指定範圍外的任意單個字符
[:space:]:空白字符
[:punot:]:標點符號
[:lower:]:小寫字母
[:upper:]:大小字母
[:alpha:]:大小寫字母
[:digit:]:數字
[:alnum:]:數字和大小寫字母
使用時要兩個[[]]
匹配數
* : 匹配其前面字符任意次
\? : 匹配前面的字符1次或0次
\{m,n\} 匹配前面的字符最少m次 最多n次
默認在貪婪模式下,儘量匹配多個字符
位置鎖定
^ 鉚釘行首 , 必須以其後面字符開頭
$ 鉚釘行尾
^$ 空白行
\< : 其後面的任意字符必須作爲單詞首部出現 也可以用\b
\> : 其前面的任意字符必須作爲單詞尾部出現 也可以用\b
分組
\(\)
\1 引用第一個組
\2 引用第二個組
...
擴展正則表達式
grep -E = egrep 來使用擴展正則表達式
字符匹配:
. 用法和基本正則相同
[]
[^]
次數匹配
*:
?:
+: 匹配其前面的字符至少1次
{m,n} 用法和基本正則一樣,但不用加\
位置鎖定:用法也和基本相同
^
$
\<
\>
分組:
():組
\1 \2 \3 ...
或者
| : or
fgrep: 快速搜索 不支持正則表達式