日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中常用的正则表达式

發布時間:2023/12/20 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中常用的正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 什么是正則表達式
正則表達式(Regluar Expressions)又稱規則表達式,這個概念最初是由Unix中的工具軟件(如sed 和 grep)普及開的。正則表達式在代碼中常簡寫為REs,regexes或regexp(regex patterns)。它本質上是一個小巧的、高度專用的編程語言。 許多程序設計語言都支持通過正則表達式進行字符串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。

2. 正則表達式能做什么
正則表達式的主要應用對象是文本,使用正則表達式可以指定想要匹配的字符串規則,然后通過這個規則來匹配、查找、替換或切割那些符合指定規則的文本。總體來講,正則表達式可以對指定的文本實現以下功能:

匹配驗證: 判斷給定的字符串是否符合正則表達式所指定的過濾規則,從而可以判斷某個字符串的內容是否符合特定的規則(如email地址、手機號碼等);當正則表達式用于匹配驗證時,通常需要在正則表達式字符串的首部和尾部加上^和$,以匹配整個待驗證的字符串。

查找與替換: 判斷給定字符串中是否包含滿足正則表達式所指定的匹配規則的子串,如查找一段文本中的所包含的IP地址。另外,還可以對查找到的子串進行內容替換。

字符串分割與子串截取: 基于子串查找功能還可以以符合正則表達式所指定的匹配規則的字符串作為分隔符對給定的字符串進行分割。

正則中普通常用的元字符

正則中其他常用元字符?

擴展類正則常用元字符?

?基礎正則表達式

1.查找特定字符串

grep -n 'the' 文件名

?利用中括號[]來查找集合字符

grep -n 't[ae]st' 文件名

這樣就會在文件中尋找包含tast和test關鍵字的行。

利用集合字符的反向選擇[^]排除不想要的關鍵字前綴:

grep -n '[^g]oo' 文件名

這樣就可以選出含oo關鍵字但oo前又不是g的行。

如果是oo前不想要有小寫字母,可以寫成:

grep -n '[^a-z]oo' filename或者grep -n '[^[:lower:]]oo' 文件名

如果想要包含數字的行,可以寫成:

grep -n '[0-9]' filename或者grep -n '[:digit:]' 文件名

行首與行尾字符^$

查找文件中the開頭的行:grep -n '^the' 文件名

查找文件中小寫字母開頭的行:

grep -n '^[a-z]' 文件名或grep -n '^[[:lower:]]' 文件名

不想要開頭是英文字母的行:

grep -n '^[^a-zA-Z]' 文件名或grep -n '^[^[:alpha:]]' 文件名

找出小數點結尾的行:

grep -n '\.$' filename,因為.是特殊字符,所以需要用\進行轉義。

找出空白行:grep -n '^$' 文件名

不要空白行,也不要開頭是#的行,用來查看配置文件的有效配置很有用:

grep -v '^$' /etc/ssh/ssh_config | grep -v '^#'

任意一個字符.與重復字符*

.(小數點):代表一定有一個任意字符的意思;

*(星號):代表重復前一個0到無窮多次的意思,為組合形態;

需要找出包含g??d的字符串:grep -n 'g..d' 文件名

需要找出兩個o以上的字符串:grep -n 'ooo*' 文件名

找出字符串開頭與結尾都是g,但是兩個g之間僅能存在至少一個o的字符串:

grep -n 'goo*g' 文件名

找出字符串開頭與結尾都是g,兩個g中間的字符可有可無:

grep -n 'g.*g' 文件名

限定連續RE字符范圍{}

因為{與}的符號在shell中是有特殊意義的,因此,必須要使用轉義字符\讓他們失去特殊意義。

找出包含至少2個o的字符串:grep -n 'o\{2\}' 文件名

找出g后面包含2-5個o再接一個g的字符串:grep -n 'go\{2,5\}g' 文件名

找出g后面包含2個o及以上再接一個g的字符串:grep -n 'go\{2,\}g' 文件名

總結

以上是生活随笔為你收集整理的Linux中常用的正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。