shell正規表示式部分 複習

2021-08-27 08:49:35 字數 1487 閱讀 3974

元字元:描述字元的字元,它用於對字元表示式的內容、轉換及各種操作資訊描述

正規表示式:是由一系列字元和元字元構成的字串,簡稱re(regular expression),它的主要功能是文字查詢和字串操作,它可以匹配文字的乙個字元或字元集合。

基本正規表示式元字元(sed,grep,awk等工具)

字元匹配

.:匹配任意單個字元

:匹配指定範圍內任意單個字元

[^]:匹配指定範圍內的任意單個字元

[[:digit:]]:匹配乙個數字

[[:lower:]]:匹配小寫字母

[[:upper:]]:匹配大寫字母

[[:alpha:]]:匹配字母

[[:alnum:]]:匹配字母和數字

[[:space:]]:匹配空格

[^[:digit:]]:匹配指定範圍內的任意單個數字

位置匹配

*:匹配前面的字元任意次

.*:任意長度任意字元

\?:匹配前面對的字串0次或1次

\+:匹配前面的字元至少一次

\:匹配前面的字元m次

\:匹配前面的字元至少m次,之多n次

\

位置錨定

^:行首錨定

$:行尾錨定

^pattern$:用於匹配整行

^$:匹配空行

\<:詞首錨定

\>:詞尾錨定

\:匹配整個單詞

分組

\(xy\):將xy作為一組
後向引用:引用前面的分組括號中的模式所匹配的字元,使用\1,\2,\3

\1:從左側起,第乙個左括號以及與之匹配的右括號之間的模式所匹配的字元

萬用字元(萬用字元是系統命令使用)

*:匹配任意多個字元(0或者多個)

?:匹配任意乙個字元

:匹配中括號內出現的任意乙個字元

[!]或者[^]:不匹配中括號內出現的任意乙個字元

[[:digit:]]:匹配乙個數字

[[:lower:]]:匹配小寫字母

[[:upper:]]:匹配大寫字母

[[:alpha:]]:匹配字母

[[:alnum:]]:匹配字母和數字

[[:space:]]:匹配空格

[^[:digit:]]:匹配指定範圍內的任意單個數字

grep (全面 搜尋正規表示式並把行列印出來) 是一種強大的文字搜尋工具, 它

能 使用正規表示式搜尋文字,並把匹配的行列印出來

-a :將 binary 檔案以 text 檔案的方式搜尋資料

-c :計算找到 '搜尋字串' 的次數

-i :忽略大小寫的不同,所以大小寫視為相同

-n :順便輸出行號

-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行

正規表示式複習

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置...

正規表示式複習

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果...

正規表示式複習

為了下列場景中的需求,可以使用正規表示式非常簡單的完成,這就是使用正規表示式的目的 在乙個檔案中,查詢出itcast開頭的語句 在乙個檔案中,找到含有itcast的語句 在乙個檔案中,找到郵箱為163或者126的所有郵件位址 通常正規表示式對字串匹配的時候,可以使用re模組 import re 使用...