正規表示式是一種用於文字匹配的通用語言。
正規表示式的基本組成部分:
正規表示式
描述例子
^行起始標記
^abc匹配以abc起始的行
$行結束標記
abc$匹配以abc結束的行
.匹配任意乙個字元
abc . 匹配abc後跟任意乙個字元
[ ]匹配包含在[字元]之中的任意乙個字元
abc[de] 匹配abcd 或者 abce
[ ^ ]
匹配除[^字元]之中的任意乙個字元
abc[^de] 匹配除abcd 或 abce 外abc後跟任意乙個字元
[ - ]
匹配[ - ]之中制定範圍中的任意乙個字元
abc[d-g] 匹配abc後跟d-g 中任意單個字元
?匹配之前的項1次或者0次
co?l 匹配 col 或者 cl (1次或者0次)
+匹配之前的項1次或者多次
go+al 匹配 goal 或者gooooal ,o個數大於等於1
*匹配之前的項0次或者多次
ab*c 匹配abc、abbc、或者ac. *之前字元個數大於等於0
( )建立乙個用於匹配的子串
exam(inations)? 匹配 exam 、examinations
匹配之前的項n次
[0-9] 匹配任意乙個三位數
之前的項至少需要匹配n次
[0-9] 匹配至少乙個三位數
指定之前的項必須匹配的最少和最多次數
[0-9] 匹配乙個三位數到五位數之間的數
|交替匹配 | 兩邊任意一項
oct [1st|2nd] 匹配 oct 1st 或者 oct 2nd
\轉義字元,將上面介紹的特殊字元進行轉義
a\.b 匹配" a.b " 而不是a\\\\b
正規表示式
描述例項
[:alnum:]
字母與數字組合
[[:alnum:]]+
[:alpha:]
字母字元(包括大小寫字母)
[[:alpha:]]
[:blank:]
空格與製表符
[[:blank:]]*
[:digit:]
數字字元
[[:digit:]]?
[:lower:]
小寫字母
[[:lower:]]*
[:upper:]
大寫字母
[[:upper:]]
[:punct:]
標點符號
[[:punct:]]
[:space:]
空白字元()
[[:space:]]+
shell程式設計 正規表示式
正規表示式是用於字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。萬用字元 元字元作用 前乙個字元匹配0次或任意多次。匹配除了換行符外任意乙個字元。匹配行首。例如 hello會匹配以hello開頭的行。匹配行尾。例如hello 會匹配以hello結尾的行。匹配中括號中...
shell程式設計 正規表示式
正規表示式是一種文字模式匹配,包括普通字元和特殊字元,它是一種字串匹配模式,可以用來檢查乙個字串是否含有某種子串,將匹配的子串替換或者從某個字串中取出某個條件的子串。shell也支援正規表示式,但不是所有命令都支援正規表示式,常見的命令只有grep sed awk命令支援正規表示式。示例 資料來源 ...
shell程式設計之正規表示式
1 正規表示式 其實就是一種規範,也就是模式,約束字串等符合什麼樣的格式,比如要求字串必須a開頭,t結尾,符合這樣條件的字串就要用到正規表示式。2 兩套庫 gnu linux中有有兩套庫用足正規表示式程式設計,posix庫,自帶的 pcre庫,perl,功能比較全,本文採用perl。3 初體驗 eg...