溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell正則表達式RE及grep

發布時間:2020-07-18 08:01:33 來源:網絡 閱讀:471 作者:wx5d3fd1efe40e3 欄目:系統運維

一、正則表達式:

正則表達式(regular expression, RE)是一種字符模式,用于在查找過程中匹配指定的字符。在大多數程序里,正則表達式都被置于兩個正斜杠之間;例如/l[oO]ve/就是由正斜杠界定的正則表達式,正則表達式具備很強大的文本匹配功能,能夠在文本海洋中快速高效地處理文本。

它將匹配被查找的行中任何位置出現的相同模式。在正則表達式中,元字符是最重要的概念。

二、元字符:

定義:元字符是這樣一類字符,它們表達的是不同于字面本身的含義

shell 元字符(也稱為通配符) 由 shell 來解析,如 rm -rf *.pdf,元字符* Shell 將其解析為任意多個字符

正則表達式元字符 由各種執行模式匹配操作的程序來解析,比如 vi、grep、sed、awk、python


1、正則表達式的分類:

正則表達式的字符串表達方法根據不同的嚴謹程度與功能分為基本正則表達式與擴展正則表達式?;A正則表達式是常用的正則表達式的最基礎的部分。

Linux?系統中常見的文件處理工具中 grep?與 sed?支持基礎正則表達式,而 egrep?與 awk?支持擴展正則表達式。


==基本正則表達式元字符(gerp)

元字符?功能?示例
^?行首定位符:?^love?
$?行尾定位符?:love$?
.?匹配單個字符?:l..e?
*?匹配前導符?0?到多次:?ab*love
.*?任意多個字符
[]?匹配指定范圍內的一個字符:?[lL]ove
[?-?]?匹配指定范圍內的一個字符:?[a-z0-9]ove
[^]?匹配不在指定組內的字符?:[^a-z0-9]ove
\?用來轉義元字符?:love\.?
\<?詞首定位符?:\<love?
\>?詞尾定位符?:love\>?
x\{m\}?字符?x?重復出現?m?次:?o\{5\}
x\{m,\}?字符?x?重復出現?m?次以上:?o\{5,\}?
x\{m,n\}?字符?x?重復出現?m?到?n?次:?o\{5,10\}

“*”僅匹配前導符這一個字符

shell正則表達式RE及grep

“[ ]”匹配范圍內一個字符

shell正則表達式RE及grep

“^”在元字符集合“[ ]”符號內外的作用不同

shell正則表達式RE及grep

轉義符“\”的使用,及特殊元字符的使用

shell正則表達式RE及grep

{}限定匹配個數

shell正則表達式RE及grep

===擴展正則表達式元字符(egrep)

+?匹配一個或多個前導字符?[a-z]+ove?
??匹配零個或一個前導字符?lo?ve?
a|b?匹配?a?或?b?love|hate
()?組字符?loveable|rs?love(able|rs)?ov+
(..)(..)\1\2?標簽匹配字符?(love)able\1er
x{m}?字符?x?重復?m?次?o{5}?
x{m,}?字符?x?重復至少?m?次?o{5,}
x{m,n}?字符?x?重復?m?到?n?次?o{5,10}

()匹配()里的所有字符,順序相同

shell正則表達式RE及grep



2、文本處理器:在?Linux?系統中常見的文件處理工具中?grep?與?sed?支持基礎正則表達式,而?egrep?與?awk?支持擴展正則表達式。

grep/egrep:過濾,查找。

grep?[選項]?‘操作’?參數

常用選項

-n:顯示行號
-i:不分大小寫
-v:反向查找
-c:統計數量

awk與sed請看下章。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女