Linux系統下學習正規表示式的心得

2021-07-03 15:21:11 字數 819 閱讀 1000

一直對正規表示式雲裡霧裡的,今天認真的看了《鳥哥的linux私房菜》一書並在網路上查詢了相關方面的資料,現在對正規表示式有了一定的了解。

首先正規表示式指的是用特定的字串來篩選符合一定要求的字串,我們在linux系統下經常用到的命令grep,這個命令時用來選取符合一定要求的字串所在的一行,其實這個很簡單,舉個簡單的例子,我們想在某個目錄下去查詢一下是否存在newfile這個檔案,我們可以使用管道命令,ls | grep newfile,這個就可以找到我們想要的檔案是否存在。那麼假設我們想尋找一下某個目錄下是否存在開頭為newfile的檔案時,我們可以使用 「ls | grep '^newfile'」來實現,^的作用就是行首的標記,指的是行首位newfile的行取出來。既然可以規定行首的字元,當然也可以規定行尾的字元了,行尾用什麼來標記呢?是$,比如我們要找行尾為newfile的行,可以這樣給出命令,ls | grep 'newfile$',這樣就很清楚了。

那麼正規表示式還有什麼值得學習的呢?如*,這裡的*和bash環境下使用的代表0-無數個字元的萬用字元是不一樣的,這裡的*指的是0-無數個重複前乙個字元的字串,例如我們想在expand.txt檔案中尋找是否存在著g開頭,g結尾,中間存在著0個或者幾個o的這樣的字串,我們該怎麼給出命令呢,這時候我們就可以利用*這樣的字元了,grep -n 'go*g' expand.txt,這樣我們便能找到符合要求的字串了。

關於正規表示式,我們還要使用如[a-za-z],這個代表的是英文本元中的某乙個;還有^[^a-za-z],這個^在內外是有區別的,在外面表示的是行首,在裡面表示的是反選,所以這表示的是行首開頭不是英文本元的行;還有.指的是乙個字元;

當然正規表示式學習的東西還有很多。。。。。。

linux 正規表示式學習

出處 正規表示式 指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。通常被用來檢索和替換那些符合某個模式的文字內容。支援利用正規表示式進行字串操作。grep sed awk都是針對文字的行才操作的 表示零個或多個任意字元,空行也包含在內。在正規表示式中,表示行的開始,表示行的結尾。0 9...

linux學習 正規表示式

特殊字元 alnum 代表英文大小寫字元及數字,即0 9,a z,a z alpha 代表任何英文大小寫字元,即a z,a z digit 代表數字而已,即0 9 upper 代表大寫字元,即a z lower 代表小寫字元,即a z blank 代表空格鍵與 tab 按鍵 cntrl 代表鍵盤上面...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...