一、什麼是正則表達式
正則表達式是用於描述字符排列和匹配模式的一種語法規則,它主要用於字符串的模式分割、匹配、查找以及替換操作。
描述一個正則表達式需要字符類、數量限定符、位置限定符。規定一些特殊語法表示字符類,數量限定符和位置關係,然後用這些特殊語法和普通字符一起表示一個模式,這就是正則表達式。
二、正則表達式語法規範
字符類:在模式中表示一個範圍,但是取值範圍是一類字符中的任意一個。
數量限定符:限定字符類出現的次數。
位置限定符:描述各種字符類和普通字符之間的位置關係。
特殊字符:
正則表達式有兩種規範,分別是Basic(基礎)規範和Extended(擴展)規範。grep默認按照Basic規範來寫,如果加”-E”選項的話就表示Extended規範。
Basic規範:在Basic規範中,字符?+{}|()解釋爲普通字符,要表示特殊含義的話需要加\轉義。
Extended規範:在擴展規範中,字符?+{}|()就表示特殊含義。
例:
1、匹配日期格式YYYY-MM-DD
2、匹配IP地址
在第二個栗子中,我們使用grep的-E參數,就是使用Extended規範,所以不需要對?+{}()|進行轉義。