1. 程式人生 > >簡要總結liunx正則表達式

簡要總結liunx正則表達式

文本過濾 第一個 以及 ... grep -v cat 括號 行數 示例

2019 liunx 二周目總結 ——正則表達式

學習內容太多,簡要總結一下重要的吧。

grep:文本過濾(模式:pattern)工具。主要作用與文本搜素,更具用戶指定的“模式”對目標文本逐行進行匹配檢查;打印匹配到的行。模式:由正在表達式字符及文本符所編寫的過濾條件。

grep命令選項

grep -m # 匹配#次後停止
grep -v 顯示不配pattern匹配到的行
grep -n 顯示匹配的行號
grep -c 統計匹配的行數
grep -o 僅顯示匹配到的字符串
grep -e 實現多個選項間的邏輯or關系
grep -e ‘cat‘ -e ‘dog‘ file

grep -e 匹配整個單詞

正則表達式

匹配次數:用在要指定次數的字符後面,用於指定前面的字符要出現的次數

*匹配前面的字符任意次
    貪婪模式:盡可能長的匹配  
.* 任意長度的字符  
\? 匹配其前面的字符0或1次  
\+ 匹配其前面的字符最少1次  
\{n} 匹配前面的字符n次  
\{n,m\}  匹配前面的字符n-m次  
\{n,\}   匹配前面的字符最少n次  
\{,m\}   匹配前面的字符最多m次  

位置錨定:定位出現的位置

^ 行首錨定,用於模式的最左側  
$ 行尾錨定,用於模式的最右側  
^PATTERN$ 用於模式匹配整行  
^$ 空行  
^[[:space:]]*$ 空白行  
\< 或 \b 詞首錨定,用於單詞模式的左側  
\> 或 \b 詞尾錨定,用於單詞模式的右側  
\<PATTERN\> 匹配整個單詞  

分組

分組括號中的模式匹配到的內容會被正則表達式引擎記錄於內部的變量中,這些
變量的命名方式為: \1, \2, \3, ...  
\1表示從左側起第一個左括號以及與之匹配右括號之間的模式所匹配到的字符  
示例: \(string1\+\(string2\)*\)  
\1 :string1\+\(string2\)*  
\2 :string2  
後向引用:引用前面的分組括號中的模式所匹配字符,而非模式本身
或者:\|
示例:a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat

簡要總結liunx正則表達式