Regex、grep使用

來源:互聯網
上載者:User

一、Regex

Regex模式:貪婪模式、非貪婪模式

Regex包括:基本Regex、擴充Regex


1、基本Regex

^ 錨定行首的內容,如:^pattern
$ 錨定行尾的內容,如:pattern$
^$ 空白行
. 匹配任意單個字元
* 匹配其左邊字元任意次
.* 匹配任意長度的任一字元
[ ] 匹配指定範圍內的任意單個字元
[^] 匹配指定範圍外的任意單個字元
\? 匹配其左邊字元0次或1次
\{m,n\} 匹配其左邊字元至少m次,至多n次
\{m,\} 匹配其左邊字元至少m次
\{m\} 匹配其左邊字元精確m次
\<
錨定詞首,如:\<pattern
\> 錨定詞尾,如:pattern\>
\<\> 錨定單詞並非真正意義上的英文單詞),\<pattern\>
\b

字元邊界符,與\<、\>功能類似,如:\bpattern\b 錨定單詞)

\(pattern\) 分組,如:\(abc\).*\1 說明:此處1表達第1個分組


[:lower:]
小寫字母
[:upper:] 大字字母
[:digit:] 數字
[:alpha:] 字母
[:alnum:] 字母和數字
[:space:] 空格
[:punct:] 標符號字母、數字、控制、空白符以外的字母)


2、擴充Regex

+ 重複一個或一個以上的前一個字元
? 零個或一個前一個字元
| 或,多選一
() 分組
()+ 重複一個或一個以上的前一個分組
{m,n} 匹配其左邊字元至少m次,至多n次
\<\> 錨定單詞


同時包括所有基本Regex,除\<、\>外,擴充Regex中不需要使用反斜線。


更多Regex使用可查看:man 7 regex

也可參考:http://www.cnblogs.com/lcf/articles/807523.html


二、grep 使用

grep 支援基本Regex

egrep 支援擴充Regex相當於:grep -E)

fgrep 不支援模式比對,但速度很快


命令:grep

作用:列印出與模式比對的行

參數:

--color=auto

匹配到的資訊使用顏色標記,auto選項可省略

修改預設色彩配置(前景色彩後景色):export GREP_COLOR='01;36'

-v 反射選取
-o 只顯示被模式比對到的字串
-i 不區分字元大小寫
-w 匹配單詞
-r 遞迴尋找
-A # 顯示所匹配到行,及其後面的#行
-B # 顯示所匹配到行,及其前面的#行
-C # 顯示所匹配到行,及其前後的#行
-E 使用擴充Regex


三、舉例:

匹配IP地址:

ifconfig |egrep --color "([1-9]|[1-9][0-9]|1[0-9]{1}|2[0-4][0-9]|25[0-5])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([1-9]|[1-9][0-9]|1[0-9]{1}|2[0-4][0-9]|25[0-5])"


四、注意事項

1、grep 基本正則)使用中,指示符必須加反斜線\,而egrep 擴充正則)中卻不能加反斜線\:

grep --color "\(error\)" *

egrep --color "(error)" *

egrep --color "\<(error)" * \<、\>:單詞錨定除外)


本文出自 “Linux/Unix 營運技術” 部落格,請務必保留此出處http://wangyc.blog.51cto.com/31193/1304976

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.