歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux正則表達式的使用和基本命令grep、egrep、fgrep的用法

Linux正則表達式的使用和基本命令grep、egrep、fgrep的用法

日期:2017/2/28 14:50:35   编辑:Linux教程

一、正則表達式

一個系統的使用,不僅僅只是軟件的安裝調試和維護,同時也是對與現有環境的優化和改革,我們在linux的使用過程中總是會遇到很多對於參數的描述,有時我們需要的是參數本身所給出的答案,有時我們僅僅需要的只是參數的最終狀態結果。

是一些特殊或不很特殊的字符串模式的集合。通過一些元字符,來表示一些通配的意義,這可以簡單的稱之為正則表達式。

正則表達式:REGular EXPression, 簡寫為:REGEXP

元字符:

.:匹配任意單個字符

匹配字符次數(工作在貪婪模式下,盡可能的去匹配):

*:匹配其前面的字符任意次

a, b, ab, aab, acb, adb, amnb

a*b

.*:匹配任意長度的任意字符

[]:匹配指定范圍內的任意單個字符

[^]:匹配指定范圍外的任意單個字符

[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]

\?:匹配其前面的字符1次或0次

\{m,n\}:匹配其前面的字符至少m次,至多n次

\{1,\} 至少一次

\{0,3\} 至多三次

位置錨定:

^: 錨定行首,此字符後面的任意內容必須出現在行首

$: 錨定行尾,此字符後面的任意內容必須出現在行尾

^$: 空白行

\<或\b:錨定詞首,其後面的任意字符必須作為單詞首部出現

\>或\b: 錨定詞尾,其前面的任意字符必須作為單詞尾部出現

\<root\>: 精確匹配root

分組:

\(\)

\(ab\)* ab可以出現0次1次任意次

後向引用

\1: 第一個左括號以及與之對應的右括號所包括的所有內容

\2: 第二個左括號以及與之對應的右括號所包括的所有內容

\3: 第三個左括號以及與之對應的右括號所包括的所有內容

擴展的正則表達式:

字符匹配:

.:匹配任意單個字符

[]:匹配指定范圍內的任意單個字符

[^]:匹配指定范圍外的任意單個字符

次數匹配:

*:

?:匹配其前面的字符0次或一次

+:匹配其前面的字符至少一次

{m,n}:匹配至少m次至多n次

位置錨定:

^: 錨定行首,此字符後面的任意內容必須出現在行首

$: 錨定行尾,此字符後面的任意內容必須出現在行尾

^$: 空白行

\<或\b:錨定詞首,其後面的任意字符必須作為單詞首部出現

\>或\b: 錨定詞尾,其前面的任意字符必須作為單詞尾部出現

\<root\>: 精確匹配root

分組:

(): 分組

\1, \2, \3, ...

或者

|:or (a|abc a或者abc)

Copyright © Linux教程網 All Rights Reserved