**
首先看一下正規表示式的組成部分:
為了匹配給定文字中的所有單詞,可以使用下面的正規表示式:
(?【a-za-z】+?)"?"用於匹配單詞前後可能出現的空格。[a-z][a-z]+代表乙個或多個字母(a~z和a~z)
[0-9]\.[0-9]\.[0-9]\.[0-9]
處理特殊字元:
正規表示式$、^、.、*、+、{}等作為特殊字元。
對於正規表示式:[a-z]*.[0-9]
它可以匹配0個或多個[a-z]([a-z]*),接任意單個字元(.),再接[0-9]中的任意乙個字元,所以能夠匹配abcd09。
[cpp]view plain
copy
?經常使用的正規表示式舉例
^ 行首
$ 行尾
^ [ t h e ] 以t h e開頭行
[ s s ] i g n a [ l l ] 匹配單詞s i g n a l、s i g n a l、s i g n a l、s i g n a l
[ss]igna[ll]". 同上,但加一句點
[ m a y m a y ] 包含m a y大寫或小寫字母的行
^ u s e r $ 只包含u s e r的行
[tty]$ 以t t y結尾的行
" . 帶句點的行
^ d . . x . . x . . x 對使用者、使用者組及其他使用者組成員有可執行許可權的目錄
^ [ ^ l ] 排除關聯目錄的目錄列表
^[^d] ls –l | grep ^[^d] 只顯示非資料夾的檔案
[ . * 0 ] 0之前或之後加任意字元
[ 0 0 0 * ] 0 0 0或更多個
[ ii] 大寫或小寫i
[ i i ] [ n n ] 大寫或小寫i或n
[ ^ $ ] 空行
[ ^ . * $ ] 匹配行中任意字串
^ . . . . . . $ 包括6個字元的行
[a- za-z] 任意單字元
[ a - z ] [ a - z ] * 至少乙個小寫字母
[ ^ 0 - 9 " $ ] 非數字或美元標識
[ ^ 0 - 0 a - z a - z ] 非數字或字母
[ 1 2 3 ] 1到3中乙個數字
[ d d ] e v i c e 單詞d e v i c e或d e v i c e
d e . . c e 前兩個字母為d e,後跟兩個任意字元,最後為c e
" ^ q 以^ q開始行
^ . $ 僅有乙個字元的行
^".[0-9][0-9] 以乙個句點和兩個數字開始的行
' " d e v i c e " ' 單詞d e v i c e
d e [ v v ] i c e " . 單詞d e v i c e或d e v i c e
[ 0 - 9 ] " - [ 0 - 9 ]" - [ 0 - 9 ] " 對日期格式d d - m m - y y y y
[ 0 - 9 ] " " . [ 0 - 9 ] " " . [ 0 - 9 ]" " . [ 0 - 9 ] " i p位址格式
[ ^ . * $ ] 匹配任意行
[a-za-z]* 匹配所有單詞
經常使用的正規表示式舉例
^ 行首
$ 行尾
^ [ t h e ] 以t h e開頭行
[ s s ] i g n a [ l l ] 匹配單詞s i g n a l、s i g n a l、s i g n a l、s i g n a l
[ss]igna[ll]". 同上,但加一句點
[ m a y m a y ] 包含m a y大寫或小寫字母的行
^ u s e r $ 只包含u s e r的行
[tty]$ 以t t y結尾的行
" . 帶句點的行
^ d . . x . . x . . x 對使用者、使用者組及其他使用者組成員有可執行許可權的目錄
^ [ ^ l ] 排除關聯目錄的目錄列表
^[^d] ls –l | grep ^[^d] 只顯示非資料夾的檔案
[ . * 0 ] 0之前或之後加任意字元
[ 0 0 0 * ] 0 0 0或更多個
[ ii] 大寫或小寫i
[ i i ] [ n n ] 大寫或小寫i或n
[ ^ $ ] 空行
[ ^ . * $ ] 匹配行中任意字串
^ . . . . . . $ 包括6個字元的行
[a- za-z] 任意單字元
[ a - z ] [ a - z ] * 至少乙個小寫字母
[ ^ 0 - 9 " $ ] 非數字或美元標識
[ ^ 0 - 0 a - z a - z ] 非數字或字母
[ 1 2 3 ] 1到3中乙個數字
[ d d ] e v i c e 單詞d e v i c e或d e v i c e
d e . . c e 前兩個字母為d e,後跟兩個任意字元,最後為c e
" ^ q 以^ q開始行
^ . $ 僅有乙個字元的行
^".[0-9][0-9] 以乙個句點和兩個數字開始的行
' " d e v i c e " ' 單詞d e v i c e
d e [ v v ] i c e " . 單詞d e v i c e或d e v i c e
[ 0 - 9 ] " - [ 0 - 9 ] " - [ 0 - 9 ] " 對日期格式d d - m m - y y y y
[ 0 - 9 ] " " . [ 0 - 9 ] " " . [ 0 - 9 ] " " . [ 0 - 9 ] " i p位址格式
[ ^ . * $ ] 匹配任意行
[a-za-z]* 匹配所有單詞
[cpp]view plain
copy
?常用的g r e p選項
-c 只輸出匹配行的計數。
-i 不區分大小寫(只適用於單字元)。
-h 查詢多檔案時不顯示檔名。
-l 查詢多檔案時只輸出包含匹配字元的檔名。
-n 顯示匹配行及行號。
-s 不顯示不存在或無匹配文字的錯誤資訊。
-v 顯示不包含匹配文字的所有行。
例子 grep -v "sort" tab2 顯示不包含匹配文字的所有行
grep -n "sort" tab2 顯示匹配行及行號
grep -c "sort" tab2 只輸出匹配行的計數
精確匹配: grep "01">" tab2
grep -in "code" tab2 忽略大小寫
多次過濾
grep -in "code" tab2 | grep"02"
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
使用正規表示式
如果原來沒有使用過正規表示式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想象的那麼新奇。請回想一下在硬碟上是如何查詢檔案的。您肯定會使用 和 字元來幫助查詢您正尋找的檔案。字元匹配檔名中的單個字元,而 則匹配乙個或多個字元。乙個如 data?dat 的模式可以找到下述檔案 data1.d...
使用正規表示式
本文節選自 並有稍微修正。使用正規表示式 您可以使用正規表示式做很多事情。在以下的列表中,您可以找到一些最普通 最常用的正規表示式的例子。表示文字串必須在一行的開頭。所以,當查詢行的開頭只為 hosts 的行,可以使用命令 grep ls hosts 代表了一行的結尾。所以,當查詢行的結尾只為 ho...