柚子快報(bào)激活碼778899分享:linux 腳本 正則表達(dá)式
柚子快報(bào)激活碼778899分享:linux 腳本 正則表達(dá)式
目錄
正則表達(dá)式
基本正則表達(dá)式
擴(kuò)展正則表達(dá)式
正則表達(dá)式
分類
基礎(chǔ)正則表達(dá)式:BRE
擴(kuò)展正則表達(dá)式:ERE
編程語(yǔ)言支持的高級(jí)正則表達(dá)式
BRE 和 ERE的語(yǔ)法基本一致,只有部分元字符(預(yù)定義好的帶有特殊含義的一些符號(hào))需要特殊對(duì)待
grep sed 默認(rèn)使用的基本正則表達(dá)式,grep -E,sed -r,egrep,awk使用擴(kuò)展正則表達(dá)式
基本正則表達(dá)式
匹配字符
?abc:匹配字符串"abc",普通字符的匹配
[abcde...]:匹配括號(hào)內(nèi)的任意單個(gè)字符
a[xyz]:匹配ax ay az? ?
a[xyz]b:匹配axb ayb azb
\n:匹配換行符
\t:匹配制表符
\w:匹配單詞字符 [a-zA-Z0-9]
\W:匹配非單詞字符 [^a-zA-Z0-9]
\s:匹配空白字符
\S:匹配非空白字符
\d:匹配數(shù)字
\D:匹配非數(shù)字
.? :匹配任意單個(gè)字符
上面所說(shuō)的單詞,在正則表達(dá)式中的含義:[a-zA-Z0-9]組成的字符或字符串都是單詞
例如 nihao? hello? world 都是單詞
字符組
[a-z]:代表任意單個(gè)小寫字母
[^a-z]:只要單個(gè)非小寫字母的其他任意字符
[A-Z]:代表任意大寫字母
[0-9]:代表任意單個(gè)數(shù)字? [0-59] 代表匹配 0-5? 和 9
[a-z0-9A-Z]:代表任意字母或數(shù)字
[a-z0-9A-Z_]:代表任意字母數(shù)字下劃線 即匹配單詞字符
字符類
[:lower:]? ?等價(jià)于 a-z
[:upper:]? ?等價(jià)于 A-Z
[:alpha:]? ?等價(jià)于 A-Za-z? 也等價(jià)于[:lower:]+[:upper:]
[:digit:]? ?等價(jià)于0-9
[:alnum:]? 等價(jià)于 等價(jià)于0-9A-Za-z 也等價(jià)于[:lower:]+[:upper:]+[:digit:]?
[:xdigit:]? ? 匹配十六進(jìn)制數(shù)字 0 1 2 3 4 5 6 7 8 9 a b c d e f (大寫也行)
[:blank:]? ? 匹配空格或制表符
[:space:]? ?匹配空格,制表符,換行符,換頁(yè)符,垂直制表符,回車符等等所有空白符號(hào)
[:punct:]? ? 匹配所有標(biāo)點(diǎn)符號(hào)? ? ?! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` {}
[:print:]? ? 可打印字符,等價(jià)于[:alnum:]+[:punct:]+空格
[:graph:]? 圓形字符,即能展現(xiàn)字符顏色的符號(hào),等價(jià)于[:alnum:]+[:punct:]
位置錨定
^? 匹配行首
$? 匹配行尾
\< 匹配單詞開(kāi)頭處的位置
\> 匹配單詞結(jié)尾處的位置
^? 內(nèi)容 $? 用于匹配整行
^$ 匹配空行
表示次數(shù)
*? 表示匹配前面的字符任意次,包括0次?
.* 任意長(zhǎng)度的任意字符
\? 匹配其前面的字符出現(xiàn)0次或1次 即可有可無(wú)
\+ 匹配其前面的字符出現(xiàn)最少1次 即:肯定會(huì)出現(xiàn) =>1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符m次 至多n次
\{,n\} 匹配前面的字符至多n次 ,<=n
\{n,\} 匹配前面的字符至少n次
擴(kuò)展正則表達(dá)式
grep -E?
egrep? 默認(rèn)使用的 擴(kuò)展正則
表示次數(shù)
*? 匹配前面字符任意次
? 0或1次
+ 1次或多次
{n} 匹配n次
{m,n} 至少m 至多n次
{,n} 匹配前面的字符至多n次?
{n,} 匹配前面的字符至少n次
表示分組
() 分組
分組:() 將多個(gè)字符捆綁在一起,當(dāng)作一個(gè)整體處理,如: \(root\)+
后向引用:\1,\2, ...
| 或者
a|b? a或b? ? C|cat C或cat? (C|c)at? ?Cat 或cat
柚子快報(bào)激活碼778899分享:linux 腳本 正則表達(dá)式
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。