【开发者成长】5 分钟搞定 Linux 正则表达式
生活随笔
收集整理的這篇文章主要介紹了
【开发者成长】5 分钟搞定 Linux 正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
云棲號資訊:【點擊查看更多行業資訊】
在這里您可以找到不同行業的第一手的上云資訊,還在等什么,快來!
?
正則表達式是一種字符模式,用于在查找過程中匹配制定的字符。
元字符通常在Linux中分為兩類:
- Shell元字符,由Linux Shell進行解析;
- 正則表達式元字符,由vi/grep/sed/awk等文本處理工具進行解析;
正則表達式一般以文本行進行處理,在進行下面實例之前,先為grep命令設置—color參數:
$ alias grep='grep --color=auto'這樣每次過濾出來的字符串都會帶色彩了。
在開始之前還需要做一件事情,就是創建一個測試用的re-file文件,內容如下:
$ cat re-file I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to get back in the groove.正則表達式元字符
?
特殊的元字符
?
擴展的正則表達式
?
實操
匹配以love開頭的所有行
$ grep '^love' re-file love, how much I adore you. Do you know匹配love結尾的所有行
$ grep 'love$' re-file clover. Did you see them? I can only hope love.匹配以l開頭,中間包含兩個字符,結尾是e的所有行
$ grep 'l..e' re-file I had a lovely time on our little picnic. love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to get back in the匹配0個或多個空行,后面是love的字符
$ grep ' *love' re-file I had a lovely time on our little picnic. love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love.匹配love或Love
$ grep '[Ll]ove' re-file # 對l不區分大小寫 I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love.匹配A-Z的字母,其次是ove
$ grep '[A-Z]ove' re-file Lovers were all around us. It is springtime. Oh匹配不在A-Z范圍內的任何字符行,所有的小寫字符
$ grep '[^A-Z]' re-file I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to get back in the groove.匹配love.
$ grep 'love\.' re-file clover. Did you see them? I can only hope love.匹配空格
$ grep '^$' re-file匹配任意字符
$ grep '.*' re-file I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to get back in the groove.前面o字符重復2到4次
$ grep 'o\{2,4\}' re-file groove.重復o字符至少2次
$ grep 'o\{2,\}' re-file groove.重復0字符最多2次
$ grep 'o\{,2\}' re-file I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to get back in the groove.重復前一個字符一個或一個以
$ egrep "go+d" linux.txt Linux is a good god assdxw bcvnbvbjk gooodfs awrerdxxhkl good0個或者一個字符
ansheng@Ubuntu:/tmp$ egrep "go?d" linux.txt god assdxw bcvnbvbjk gdsystem awxxxx或,查找多個字符串
$ egrep "gd|good" linux.txt Linux is a good gdsystem awxxxx good分組過濾匹配
$ egrep "g(la|oo)d" linux.txt Linux is a good glad good【云棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/zhibo
立即加入社群,與專家面對面,及時了解課程最新動態!
【云棲號在線課堂 社群】https://c.tb.cn/F3.Z8gvnK
原文鏈接???????
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的【开发者成长】5 分钟搞定 Linux 正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【智能AI】准确率97%的开源肺炎检测模
- 下一篇: 创建VPC前,网络规划的4个问题你弄清了