歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux grep 正則詳解

Linux grep 正則詳解

日期:2017/2/28 15:43:22   编辑:Linux教程

正則表達式是一個工具,可以提高工作效率的工具。無論學習什麼東西,都要明白它是用來干什麼的,怎麼去很好的運用它,這些才是我們應該作為學者首先該考慮的東西。既然是表達式,就是有命令、參數、選項、連接符等組合而成的,它們可以根據我們的需要,組合成有效的形式,進行文本的特定搜索和切割,得到我們想要的結果。說的簡單些,正則表達式就是由一大堆的元字符組合起來,過濾文本的,我們把這些元字符組合起來,就是模式。

正則表達式,大家在開發中經常會用到的,現在很多開發語言都有正則表達式的應用,比如javascript java .net php等。我們什麼時候用正則表達式呢?不是所有的字符操作都用正則就好了,當我們遇到復雜文本數據的解析時候,用正則是比較好的選擇。

優點:正則表達式在處理復雜字符操作的時候,可以提高工作效率,也在一定程度 節省了你的代碼量。

缺點:我們再使用正則表達式的時候,復雜的正則表達式會加大代碼的復雜度,讓人很難理解,所以我們有的時候需要在正則表達式內部添加注釋

正則表達式可以分為:

1.基本正則表達式:grep

2.擴展正則表達式:egrep

3.不搜索正則表達式:fgrep

基本正則表達式,在日常學習和工作中用的最多的。

表格1 grep的常用選項

選項 說明 -v 對結果取反 -i 忽略字母大小寫 -o 僅顯示匹配到的字符串 -E 支持擴展正則表達式 -A n 匹配到的行向後多顯示n行 -B n 匹配到的行向上多現實n行 -C n 匹配到的行上下各顯n行

表格2 元字符

. 匹配任意單個字符 * 匹配其前面的字符任意次 .* 任意長度的任意字符 [] 指定范圍內的任意單個字符 [^] 取反 ^ 鎖定行首 $ 鎖定行尾 ^$ 鎖定空白行 \< 錨定詞首 \> 錨定詞尾 \(value\) 分組 \n 引用

表格3 常用通配符

[:digit:] 所有數字 [:lower:] 所有小寫字母 [:upper:] 所有大寫字母 [:space:] 所有空白字符 [:alpha:] 所有字母 [:punct:] 所有標點符號

Copyright © Linux教程網 All Rights Reserved