正則表達式又稱正規(guī)表達式、常規(guī)表達式。在代碼中常簡寫為 regex、regexp 或 RE。正則表達式是使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串,簡單來說, 是一種匹配字符串的方法,通過一些特殊符號,實現快速查找、刪除、替換某個特定字符串。
基礎正則表達式
以httpd配置文件為例
為了防止失誤對httpd的配置文件造成損壞,首先我們先拷貝一份httpd配置文件到別處。
1)、查找特定字符
可從httpd.txt文件中查找出特定字符“the” 所在位置
可以使用命令:grep -n \\\’the\\\’ httpd.txt
查找不包含“the”字符的行
可以使用命令:grep -vn \\\’the\\\’ httpd.txt
2)、利用中括號“[]”來查找集合字符
想要查找“then”與“they”這兩個字符串時,可以發(fā)現這兩個字符串均包含“the”。此時執(zhí)行以下命令:grep -n \\\’the[ny]\\\’ httpd.txt
即可同時查找到“then”與“they”這兩個字符串?!癧]”中無論有幾個字符,都僅代表一個字符,也就是說“[ny]”表示匹配“n”或者“y”。
查找包含重復單個字符“oo”時
可以使用命令:grep -n \\\’oo\\\’ httpd.txt
查找“oo”前面不是“r”的字符串
可以使用命令:grep -n \\\'[^r]oo\\\’ httpd.txt
若不希望“oo”前面存在大寫字母,可以使用“grep –n\\\'[^A-Z]oo\\\’httpd.txt”命令實現
查找包含數字的行可以通過“grep –n \\\'[0-9]\\\’ httpd.txt”命令來實現
3)、查找行首“^”與行尾字符“$”
查詢大寫字母開頭的行使用grep -n \\\’^[A-Z]\\\’ httpd.txt
查詢“.”結尾的行使用grep -n \\\’.$\\\’ httpd.txt
因為小數點(.) 在正則表達式中也是一個元字符(后面會講到),所以在這里需要用轉義字符“\\\\”將具有特 殊意義的字符轉化成普通字符。
查詢空白行時,執(zhí)行“grep –n ‘^$’ httpd.txt”命令
4)、查找任意一個字符“.”與重復字符“*”
在正則表達式中小數點(.)也是一個元字符,代表任意一個字符,例如,查找以r開頭,t結尾,中間兩個未知字符的字符串,可以使用命令grep -n \\\’r..t\\\’ httpd.txt。
查詢包含至少兩個 o 以上的字符串,則執(zhí)行“grep –n ‘ooo*’ httpd.txt”命令即可。
5)、查找連續(xù)字符范圍“{}”
因為“{}”在 Shell 中具有特殊 意義,所以在使用“{}”字符時,需要利用轉義字符“\\\\”,將“{}”字符轉換成普通字符
(1)查詢兩個 o 的字符
grep -n \\\’o\\\\{2\\\\}\\\’ httpd.txt
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問西部數碼官網:www.ps-sw.cn