1. 程式人生 > >【linux之正則表達式】

【linux之正則表達式】

匹配 ext 表達 col oba 包括 部分 style 符號

一、grep

grep家族
grep、egrep、fgrep
Globally search a Regular Expression and Print
根據我們提供的模式進行查找,並且將文件中匹配的行顯示出來
模式:pattern,純字符串或元字符構成的匹配條件

grep工作在貪婪模式下

grep

grep [OPTIONS] PATTERN [FILE...]
--color:將匹配模式的部分以高亮彩色的方式進行顯示
-i:忽略大小寫進行匹配
-v:反向選擇,將沒有匹配到的顯示出來
-o:只顯示匹配到的字符
-E:使用擴展的正則表達式
-A#:(after)顯示被條件匹配的行及其後面的#行
-B#:(before)顯示被條件匹配的行及其前面的#行 -C#:(context)顯示被條件匹配的行及其前後各#行

二、正則表達式的元字符

1、基本正則表達式

1.字符或字符串出現次數的匹配
*:其前面的字符出現0次或任意次
\?:其前面的字符出現0次或1次
\{m,n\}:其前面的字符至少出現m次,最多出現n次

2.通配符
.:任意單個字符
[]:指定範圍內的任意單個字符
[^]:不包括指定範圍內的任意單個字符
[[:space:]]

3.錨定字符
^:行首錨定,凡是跟在^後的必須出現在行首
$:行尾錨定,凡是寫在$前面的字符串必須出現在行尾
\<或\b:詞首錨定:凡是寫在其後的字符串,必須出現在一個詞的詞首
\
>或\b:詞尾錨定:凡是寫在其前面的字符串,必須出現在一個次的詞尾 4.分組符號 \(\):分組 \1:引用第一對括號裏內容 \2:引用第二對括號裏內容 \3

2、擴展的正則表達式 grep -e = egrep

+:前面的字符至少出現一次
|:或者
()分組可以不寫轉義字符


grep 基本的正則表達式,元字符
egrep 擴展的正則表達式,元字符
fgrep 純字符串

【linux之正則表達式】