您好,登錄后才能下訂單哦!
今天小編給大家分享一下Linux的正則表達式實例分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。
元字符通常在Linux中分為兩類:Shell元字符,由Linux Shell進行解析; 正則表達式元字符,由vi/grep/sed/awk等文本處理工具進行解析; 正則表達式一般以文本行進行處理,在進行下面實例之前,先為grep命令設置–color參數:
class="">$ alias grep='grep --color=auto'
這樣每次過濾出來的字符串都會帶色彩了。
在開始之前還需要做一件事情,就是創建一個測試用的re-file文件,內容如下:
class="">$ 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. class="">$ cat linux.txt Linux is a good god assdxw bcvnbvbjk greatttttt wexcvxc operaaaating dhfghfvx gooodfs awrerdxxhkl gdsystem awxxxx glad good
匹配以love開頭的所有行
class="">$ grep '^love' re-file love, how much I adore you. Do you know
匹配love結尾的所有行
class="">$ grep 'love$' re-file clover. Did you see them? I can only hope love.
匹配以l開頭,中間包含兩個字符,結尾是e的所有行
class="">$ 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的字符
class="">$ 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
class="">$ 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
class="">$ grep '[A-Z]ove' re-file Lovers were all around us. It is springtime. Oh
匹配不在A-Z范圍內的任何字符行,所有的小寫字符
class="">$ grep '[^A-Z]' re-fileI had a lovely time on our little picnic.Lovers were all around us. It is springtime. Ohlove, how much I adore you. Do you knowthe extent of my love? Oh, by the way, I thinkI lost my gloves somewhere out in that field ofclover. Did you see them? I can only hope love.is forever. I live for you. It's hard to get back in thegroove.
匹配love
class="">$ grep 'love\.' re-fileclover. Did you see them? I can only hope love.
匹配空格
class="">$ grep '^$' re-file
匹配任意字符
class="">$ grep '.*' re-fileI had a lovely time on our little picnic.Lovers were all around us. It is springtime. Ohlove, how much I adore you. Do you knowthe extent of my love? Oh, by the way, I thinkI lost my gloves somewhere out in that field ofclover. Did you see them? I can only hope love.is forever. I live for you. It's hard to get back in thegroove.
前面o字符重復2到4次
class="">$ grep 'o\{2,4\}' re-filegroove.
重復o字符至少2次
class="">$ grep 'o\{2,\}' re-filegroove.
重復0字符最多2次
class="">$ grep 'o\{,2\}' re-fileI had a lovely time on our little picnic.Lovers were all around us. It is springtime. Ohlove, how much I adore you. Do you knowthe extent of my love? Oh, by the way, I thinkI lost my gloves somewhere out in that field ofclover. Did you see them? I can only hope love.is forever. I live for you. It's hard to get back in thegroove.
重復前一個字符一個或一個以上
class="">$ egrep "go+d" linux.txt Linux is a good god assdxw bcvnbvbjk gooodfs awrerdxxhkl good#####0個或者一個字符ansheng@Ubuntu:/tmp$ egrep "go?d" linux.txt god assdxw bcvnbvbjk gdsystem awxxxx
或,查找多個字符串
class="">$ egrep "gd|good" linux.txt Linux is a good gdsystem awxxxx good
分組過濾匹配
class="">$ egrep "g(la|oo)d" linux.txt Linux is a good glad good
以上就是“Linux的正則表達式實例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。