linux學習筆記 一 正規表示式

2022-08-31 19:51:23 字數 1862 閱讀 2444

正規表示式就是處理字串的方法,並且是以行為單位進行字串處理的。通常在linux中,進行文字的"搜尋/替換"工作。正規表示式只是一種處理字串的標準表示方法,在linux中支援這種方法的工具有vi,sed,awk,grep等。

正規表示式的特殊字元:

regular expression字元        範例      含義

^(匹配行首)            ^word     匹配以word開頭的行

$(匹配行尾)             word$       匹配以word結尾的行

\w                        匹配字母或數字或下劃線或漢字

\s匹配任意的空白符

\d                        匹配數字

\b                        匹配單詞的開始或結束

.(匹配任意乙個字元)          hel.o       匹配以hel開頭,o結尾的長度為5的字串

\(轉義字元)              \.        匹配字元.

*(匹配任意多個前乙個字元)        hello*      匹配hell,hello....hellooooo......

\(匹配n到m個前乙個字元)     hello\   匹配hello,helloo,hellooo。 特殊情況:\:匹配n個前乙個字元。\:匹配至少n個前乙個字元

(匹配字元集合中的乙個)        [a-za-z]     匹配a-z或a-z中的乙個字元

[^](匹配不是字元集合中的乙個字元)  [^a-za-z]    匹配不是a-z和a-z的乙個字元

另外有四個擴充套件的正規表示式特殊字元:

regular expression字元        範例      含義

+(匹配1個或以上個前乙個字元)      hello+     匹配hello,helloo....

?(匹配0個或1個前乙個字元)     go?d       匹配gd或god

|(匹配數個字串中的乙個)      god|good    匹配god或good

()(匹配使用者組,一般與|合用)     re(a|o|e)d    匹配read或reed或reod

需要說明的是()會進入子shell,並且(!)在正規表示式中不是特殊字元。

以常用的正規表示式程式工具grep來說,其全稱是global search regular expression and print out the line,即全域性搜尋正規表示式並列印出行。

其格式如下:grep -[option] '搜尋字串' 檔名

引數說明如下:

-a    在二進位制檔案中以,文字檔案方式搜尋資料

-c    只輸出匹配的行的數量

-i     搜尋時忽略大小寫

-h     查詢多檔案時不顯示檔名

-l    只列出符合匹配的檔名,而不輸出匹配行

-n     顯示所有匹配行並列出行號

-s     不顯示不匹配或無匹配文字的錯誤資訊

-v     顯示不包含匹配檔案的所有行

-w    匹配整詞,忽略regular expression字元的特殊含義

-x    匹配整行,必須整行內容匹配

-r    遞迴搜尋,不僅搜尋該目錄,還搜尋子目錄

-q    不輸出任何結果,以退出狀態表示搜尋是否成功

-b    列印匹配行距檔案首部的偏移量,以位元組為單位

-o    與-b結合使用,列印匹配單詞距檔案首部的偏移量,也是以位元組為單位

-e    支援擴充套件正規表示式,等價於egrep

-f    不支援正規表示式,按字面意思進行匹配,等價於fgrep

待續......

這裡說明的挺詳細:

python筆記一(正規表示式)

1 usr bin env python2 coding utf 8 34 1 如果直接給出字元,則表示精確匹配5 2 d 表示數字,w 表示字母或數字,可以匹配任意字元,s 表示空白符,包括tab6 3 表示任意長度,表示至少乙個字元,表示0或1個字元,表示n個字元,表示n到m個字元7 如 d s...

mysql學習(一)正規表示式

mysql可以通過 like 來進行模糊匹配 mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配 模式描述 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。...

一 正規表示式基礎

正規表示式是一種用來匹配字串的強有力的 設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,就認為它 匹配 否則就不匹配。行定位符用來描述字串的邊界。表示行的開始,表示行的結束。例如 若要匹配以am開頭的字串,則是 am 若要匹配以am結尾的字串,則是am 其中 放在方括號裡,表示...