bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

shell正則表達式

通配符 ? ? ? ?    意義

*         匹配任意多個字符(包括零個或一個)
  ?         匹配任意一個字符(不包括零個)
  [characters]    ?匹配任意一個屬于字符集中的字符
  [!characters]    匹配任意一個不是字符集中的字符
  [[:class:]]     ?匹配任意一個屬于指定字符類中的字符

成都創新互聯公司“設計定江山,服務贏天下“的思想,用細節和態度獲得客戶的認可與同行的尊重,服務是成都創新互聯公司企業文化中重要的核心思想,每一位員工要致力成為客戶心中堅實的服務后盾。

 

  ? 字符類         意義

 [:alnum:]      匹配任意一個字母或數字
  [:alpha:]       匹配任意一個字母
  [:digit:]       ?匹配任意一個數字
  [:lower:]      ?匹配任意一個小寫字母
  [:upper]       匹配任意一個大寫字母



基礎正則表達式符號

符號描述實例
.代表單個字符(必須存在)

a..b

可以表示acdb

? ? ? aaab 、abbbb

但不可以表示acb、ab、aba等

*

要和通配符區分開,匹配 * 前面一個字符的0個或多個

*后面的字符一定要在*前面字符的后面

另外*前后字符必須相鄰否則匹配不到

a*b

可以表示ab、aab、b、abababab

但不可以表示acb、ba等

acb只會匹配到b,也就是視為b前面有0個a

ba也只會匹配到b,同樣視為b前面有0個a

^匹配 ^ 后面字符串開頭

?輸入:echo? -e? abcd\accc | grep "^ab"

輸出:abcd

$?匹配 $ 前面字符串結尾??

?輸入:echo? -e? abcd\accc | grep "cc$"

輸出:accc

?.*?匹配任意個字符(0到多個)

?a.*b

和通配符里面的 * 大致類似

可以代表ab、 acb、 a……b

但不能代表b……a

?[]

?表示范圍,可以用來進行模糊匹配

常用選項為【a-z】 【0-9】

1.? grep【0-9】 text 過濾出含數字的行

2.? grep【a-z】 text 過濾出含小寫字母的行

3.?grep 【abc】 text 過濾出含有a,b,c的行(注意這個abc是分別匹配,也就是相當于匹配含有a的行,b的行,c的行,并不是字符串abc的行)

?{}

{n,m}表示匹配 {}?前面字符的至少n個,最多m個 字符,注意:是連在一起的連續字符

還可以為{n,}表示至少有n個

{,m}表示最多有m個

?1.輸入echo abbcdfbjk | grep -E "b{1,2}"

輸出?abbcdfbjk?

2.如果?輸入 echo abbcdfbjk | grep -E "b{2,}"? #表示至少兩個

輸出結果為?abbcdfbjk? 可以看到只有連在一起的兩個bb被匹配到,也就是說明了{}里面的數字表示的不是匹配到的個數,而是匹配字符的長度,像這個例子就是要求出現 b 的長度至少是2,所以只有 bb 被匹配到了

3.?輸入 grep -E "ac{2,5}b"?匹配a和b之間至少2個最多5個c的行,但是acb要連在一起

?【^】?【^a】表示匹配 a 以外的所有字符

?輸入? echo? -e abc \ def \ lmn | grep "[^f-z]"

輸出? abc? def lmn,只有[a-e]配匹配到

?^[^]?匹配 ^[^a]中的以a為開頭以外的所有行?grep "^[^#]"? /etc/passwd? ?匹配? /etc/passwd? 里面不以#開頭的所有行
\<? ;? \>

錨定 單詞首部 (尾部)??

表示在匹配在首部(尾部)以空格或特殊字符為分隔的指定字符。如果同時錨定首尾? \<? \>? 則表示這個字符的準確匹配,它的前后為特殊字符或空格分隔,不會和任何字符直接連接

注意:必須要加 \ 轉義,即使使用擴展正則也要加? \? 進行轉義

?輸入?:echo "hi,rootamroot" | grep "\<root"
輸出:hi,rootamroot

輸入: echo "hiroot iamroot" | grep "root\>"
輸出: hiroot?iamroot

?輸入: echo "hi,root? iamroot" | grep "\<root\>"
輸出:hi,root??iamroot

?()

?\1? 調用前面的參數—第一個分組(也就是括號里的參數)

如果用擴展正則則不需要 \ 來進行轉義

?

過濾出一行中有兩個相同數字的行

# grep "\([0-9]\).*\1"? /etc/passwd

過濾出行首和行位字母相同的行

# grep "^\([a-z]\).*\1$" /etc/passwd

擴展正則

擴展正則包含基礎正則,而且多出了? +? ? ?? ?|? ? ()四個指令(注意這里的 | 要和管道符分開)   擴展正則不需要像基礎正則一樣對某些符號進行轉義(一般是用 反斜杠? \? 來進行)

?

+?

作用:重復一個或者一個以上的前一個字符

示例:執行“egrep -n 'wo+d' test.txt”命令,即可查詢"wood" "woood" "woooooood"等字符串

? ?

作用:零個或者一個的前一個字符

示例:執行“egrep?-n 'bes?t' test.txt”命令,即可查詢“bet”“best”這兩個字符串

? ?

|?

作用:使用或者(or)的方式找出多個字符

示例:執行“egrep -n 'of|is|on' test.txt”命令即可查詢"of"或者"if"或者"on"字符串

? ?

() ?

作用:查找“組”字符串

示例:“egrep -n?'t(a|e)st' test.txt”。“tast”與“test”因為這兩個單詞的“t”與“st”是重復的,所以將“a”與“e”列于“()”符號當中,并以“|”分隔,即可查詢"tast"或者"test"字符串

? ?

()+??

作用:辨別多個重復的組

示例:“egrep -n?'A(xyz)+C' test.txt”。該命令是查詢開頭的"A"結尾是"C",中間有一個以上的 "xyz"字符串的意思

? ?


網站欄目:shell正則表達式
文章位置:http://vcdvsql.cn/article40/pdheho.html

成都網站建設公司_創新互聯,為您提供網站制作App開發網站策劃外貿建站網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管