標籤:正則 檔案名稱通配 擴充正則 區別
Regex是一個神器,但初學linux時候還有檔案名稱通配這樣的東東。今天就總結一下檔案名稱通配,Regex,擴充Regex之間有什麼異同。可能寫的不全,求指教。
使用方面:
正則多用來匹配過濾常值內容。
檔案名稱萬用字元則用來匹配檔案名稱較多。
支援命令:
檔案處理,查看cp find ls rm mv touch 等一系列的檔案匹配尋找命令。(和上面說的是一個意思)
Regex則用在常值內容處理的各種工具grep,awk,sed,vim末行模式等。
匹配功能上正則規矩多,自然能力更強大,所以就這的區別多點。
匹配規則上相同點:
一.字元匹配:
[:digit:]數字、[:lower:]小寫、[:upper:]大寫、[:alpha:]字母、[:alnum:]字母數字、[:punct:]標點、[:space:]空格 [xdigit]16進位 兩者相同。
[^]括弧內除外。[]括弧內任一字元匹配。[]內的- ,的使用 兩者規則也相同。
二. 次數匹配
在正則中支援次數匹配且分為精確次數和模糊次數,在檔案名稱通配中只支援*。
檔案名稱通配中 ?表示任意單個字元且這個字元會出現一次。 *表示任一字元出現任意次。
正則中 .在表示任一字元,*表示*前面的字元出現任意次。.*表示任一字元出現任意次。?表示前面的字元出現1次或0次,即表示前面的字元可有可無。?需要轉義。
三. 位置錨定。
正則支援,萬用字元不支援。
匹配由非特殊字元組成的單詞。正則匹配,檔案名稱通配不支援。
內容分組及引用。正則支援,檔案名稱通配不支援。
因為擴充正則和檔案名稱通配的區別和上面的一致,就(同上)。
擴充正則和正則的區別。
擴充正則中次數匹配中? + {} 不在需要\ 轉義符 。
位置錨定中的單詞整體錨定<>都還需要\轉義符。
內容分組()也不需要\轉義符。
擴充正則中提供了新的匹配規則,或者|。
寫完了。
Regex,檔案名稱通配,擴充正則之間的一些異同