(1)能檢查多個檔案,挑出包含重複單詞的行,高亮標記每個重複單詞(使用標準ansi的轉義字元列),同時必須顯示這行文字來自哪個檔案。
(2)能跨行查詢,即使兩個單詞乙個在某行末尾而另乙個在下一行的開頭,也算重複單詞。
(3)能進行不區分大小寫的查詢,例如"the the...",重複單詞之間可以出現任意數量的空白字元(空格符、製表符、換行符之類)
(4)能查詢用html tag分隔的重複單詞。html tag用於標記網際網路頁上的文字,例如,粗體單詞是這樣表示的:」...it isverryvery important...「
正規表示式能夠新增、刪除、分離、疊加、插入和修整各種型別的文字和資料
正規表示式的思維框架
完整的正規表示式有小的構建模組單元組成
在指定了正規表示式和需要檢索的檔案之後,egrep嘗試用正規表示式來匹配每個檔案的每一行,並顯示能夠匹配的行。
egrep元字元(metacharacters):
^:行的開始 ^cat 表示以cat開頭的行
$:結束
字元組(character classes): gr[ea]y的意思是grey 或 gray
'-'連字元表示乙個範圍:[0-9] [a-z],注:'-'只有在字元組內部,才是元字元,否則它就只能匹配普通的連字符號
排除型字元組:[^1-6]匹配除了1到6以外的任何字元,^表示」排除「。
匹配任意字元「.」:03.19.76可表示03/19/76、03-19-76。
匹配任意子表示式:「|」 :or
忽略大小寫: egrep -i .....
單詞分界符:\< 和 \>為單詞開頭和結束,如\
可選項元素「?」:color和colour的匹配,colou?r來解決,最多出現一次
「+」:表示「之前緊鄰的元素出現一次或多次「
」*「:表示」之前緊鄰的元素出現任意多次,或者不出現「
問號、加號和星號這3個元字元,統稱為量詞
規定重現次數的範圍:長度範圍
...,如...,能夠容許的重現次數在3到12之間
括號及反向引用:
括號的兩者用途:限制多選項的範圍;將若干字元組合為乙個單元,受問號或星號之類量詞的作用。
反向引用:容許我們匹配與表示式先前部分匹配的同樣的文字
語言的差異:
任何語言中都存在不同的方言和口音,很不幸,正規表示式也一樣。情況似乎是,每一種支援正規表示式的語言都提供了自己的」改進「。正規表示式不斷發展,但多年的變化也造就了數目眾多的正規表示式」流派「。
正規表示式的目標:
必須進行權衡:匹配符合要求的文字,同時忽略不符合要求的文字
精通正規表示式(1)
regexp 物件用於規定在文字中檢索的內容。regexp 物件用於規定在文字中檢索的內容。regexp 是正規表示式的縮寫。當您檢索某個文字時,可以使用一種模式來描述要檢索的內容。regexp 就是這種模式。簡單的模式可以是乙個單獨的字元。更複雜的模式包括了更多的字元,並可用於解析 格式檢查 替換...
精通正規表示式
我只看了前面兩三章 這書的核心是4 5 6章 精通正規表示式 這本書的第四章和第六章比較值得看 1.多選結構 mm gg 表示匹配 mm 或 gg 2.忽略大小寫 s source dest i 搜尋source,將其替換為dest,此處的i只對source起作用,而不會作用於dest。3.單詞分界...
正規表示式 1 初識正規表示式
簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...