shell正則

^   ^ab    【匹配a開頭的字符】
    ^(ab)  【匹配ab開頭的字符】
$   ab$    【匹配b結尾的字符;因為是結尾,所以$在后面】
    (ab)$  【匹配ab結尾的字符】
    \.$    【匹配點 . 結尾的字符】
ab*c       【匹配0個或多個b,如:abc、abbbc、ac】
ab+c       【匹配1個或多個b,如:abc、abbbc】
ab?c       【匹配0個或1個b,如:ac、abc】
ab.c       【匹配任意一個字符在b和c之間,如:absc、ab%c】
ab.*c      【匹配任意的字符數在b和c之間,如:abc、ab@【$@asfasc】

{n,m}
ab{0,1}c   【匹配0個或1個b   == ab?c】
ab{1,}c    【匹配1個或多個b   ==ab+c】
ab{0,}c    【匹配0個或多個b   ==ab*c】

\          【反斜杠,禁用后面的特殊字符,轉換為普通字符,如:echo "\\"  結果 \】
^          【以某個字符或字符串開頭 ^a、^(abc)、^[0-9]以數字開頭】
$          【以某個字符或字符串結尾 a$、(ab)$、[0-9]$ 】
.          【代表任意一個字符 a.b:在a和b之間的任意一個字符】
a{7,8}     【匹配7個a或8個a】
^$         【匹配空行;因為直接^開頭到$結尾,中間沒有任何字符也即是空了】
^#         【匹配#開頭的】
-v         【grep里取反匹配】
x|y        【匹配x或y,如:'(g|f)ood' 匹配good或food】
[a-z]      【匹配任意一個小寫字母】
[^a-z]     【匹配任意一個非小寫字】
^[a-z]     【匹配任意一個以小寫字母開頭的】
[abc]      【匹配a或b或c】
[a-zA-Z0-9]【匹配任意一個大小寫字母和數字】
^[0-9]{3}  【匹配任意3個數字開頭的】
[^0-9]     【匹配非數字】

在linux中,有通配符和正則表達式,這是兩個不同的概念。
通配符:    它是由shell解析,并且一般用于匹配文件名。如:ls
正則表達式:是一個字符匹配標準,可以匹配文本中的內容,一些命令工具按此標準實現字符匹配,常用于支持正則表達式的工具,如grep,sed等等。一般用于匹配文件中的內容。

(1).常用的通配符如下:
*     匹配任意多個字符
?    匹配任意一個字符
[ ]   方括號,匹配方括號中出現的任意一個字符
[! ]  方括號中加感嘆號,不匹配方括號中出現的任意一個字符

(2).常用的正則表達式如下:
字符匹配:
.   點,匹配任意單個字符  如:c.t  匹配c和t之間有一個字符的
*   匹配其前面一個字符出現的任意次數 ,如 c*  匹配文件中c字符出現的任意次
?  匹配其前面的字符1次或0次,如 c?  匹配文件中c字符只出現1次或0次
+   匹配其前面一個字符出現至少一次(在擴展正則表達式中)

(3).位置匹配:
^       錨定行首
$       錨定行尾
\<或\b  錨定詞首,其后面的任意字符必須作為單詞首部出現
\>或\b  錨定詞尾,其后面的任意字符必須作為單詞尾部出現
\B      非單詞的開頭或結尾
^$      空白行
\       通常用于打開或關閉后續字符的特殊含義

(ab)*   匹配ab這個分組出現的任意次
\1      引用第一個左括號以及與之對應的右括號所包括的所有內容,同理還有\2,\3

(4).特殊子字符類:
[:alnum:]   任何字母和數字
[:alpha:]   任何字母
[:cntrl:]   控制字符,在ASCII表中對應八進制000到037,和177('DEL')
[:digit:]   任何數字
[:graph:]   匹配打印字符,相當于 '[:alnum:]' + '[:punct:]'
[:lower:]   小寫字母
[:print:]   可打印字符,相當于 '[:alnum:]' , '[:punct:]' , 和space
[:punct:]   標點符號,' ! " $ % & ( ) * +,- / : ; <= > ? @ [ ] \ ^ _ { } | ~
[:space:]   空白字符,tab , newline, vertical tab , form feed , carriage return , and space
[:upper:]   大寫字母   
[:xdigit:]  任何16進制的數字,相當于[0-9a-fA-F ]
如:cat 123 | grep [[:upper:]]【外層也要帶上方括號】
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • 次日清晨、不到七點,李曉晨搖著王一峰的床大叫:“快起床!帶我去買道具!”王一峰翻身大罵說:“別他媽吵我睡覺...
    夢犀閱讀 462評論 0 1
  • 今天兩個多小時讀完一本名叫《書都不會讀,你還想成功》的書,之所以讀這本書是看到一篇介紹寫作方法的文章對該書進行...
    二郎會閱讀 366評論 0 0
  • 一個人不應該對自身重要性有過高的評價,沒有必要給自己增加負擔
    CNBLUEone閱讀 118評論 0 0
  • 你一路為我唱過的歌 我閉上雙眼轉過的街 那些只屬于我們的曾經 在記起時恍惚不知覺間忘卻 昏黃路燈下我眼角余光里 你...
    路凡平閱讀 280評論 2 2