基本正規表示式字元集合

2022-02-16 14:00:00 字數 2862 閱讀 3752

特殊符號

特殊符號

代表意義

[:alnum:]

代表英文大小寫位元組及數字,亦即 0-9, a-z, a-z

[:alpha:]

代表任何英文大小寫位元組,亦即 a-z, a-z

[:blank:]

代表空白鍵與 [tab] 按鍵兩者

[:cntrl:]

代表鍵盤上面的控制按鍵,亦即包括 cr, lf, tab, del.. 等等

[:digit:]

代表數字而已,亦即 0-9

[:graph:]

除了空白位元組 (空白鍵與 [tab] 按鍵) 外的其他所有按鍵

[:lower:]

代表小寫位元組,亦即 a-z

[:print:]

代表任何可以被列印出來的位元組

[:punct:]

代表標點符號 (punctuation symbol),亦即:" ' ? ! ; : # $...

[:upper:]

代表大寫位元組,亦即 a-z

[:space:]

任何會產生空白的位元組,包括空白鍵, [tab], cr 等等

[:xdigit:]

代表 16 進製的數字型別,因此包括: 0-9, a-f, a-f 的數字與位元組

基礎正規表示法字元彙整

re 字元

意義與範例

^word

意義:待搜尋的字串(word)在行首! 範例:搜尋行首為 # 開始的那一行,並列出行號grep -n '^#' regular_express.txt

word$

意義:待搜尋的字串(word)在行尾! 範例:將行尾為 ! 的那一行列印出來,並列出行號grep -n '!$' regular_express.txt

.

意義:代表『一定有乙個任意位元組』的字元! 範例:搜尋的字串可以是 (eve) (eae) (eee) (e e), 但不能僅有 (ee) !亦即 e 與 e 中間『一定』僅有乙個位元組,而空白位元組也是位元組!grep -n 'e.e' regular_express.txt

\

意義:跳脫字元,將特殊符號的特殊意義去除! 範例:搜尋含有單引號 ' 的那一行!grep -n \' regular_express.txt

*

意義:重複零個到無窮多個的前乙個 re 字元 範例:找出含有 (es) (ess) (esss) 等等的字串,注意,因為 * 可以是 0 個,所以 es 也是符合帶搜尋字串。另外,因為 * 為重複『前乙個 re 字元』的符號, 因此,在 * 之前必須要緊接著乙個 re 字元喔!例如任意位元組則為 『.*』 !grep -n 'ess*' regular_express.txt

[list]

意義:位元組集合的 re 字元,裡面列出想要擷取的位元組! 範例:搜尋含有 (gl) 或 (gd) 的那一行,需要特別留意的是,在 當中『謹代表乙個待搜尋的位元組』, 例如『 a[afl]y 』代表搜尋的字串可以是 aay, afy, aly 即 [afl] 代表 a 或 f 或 l 的意思!grep -n 'g[ld]' regular_express.txt

[n1-n2]

意義:位元組集合的 re 字元,裡面列出想要擷取的位元組範圍! 範例:搜尋含有任意數字的那一行!需特別留意,在位元組集合 中的減號 - 是有特殊意義的,他代表兩個位元組之間的所有連續位元組!但這個連續與否與 ascii 編碼有關,因此,你的編碼需要配置正確(在 bash 當中,需要確定 lang 與 language 的變數是否正確!) 例如所有大寫位元組則為 [a-z]grep -n '[a-z]' regular_express.txt

[^list]

意義:位元組集合的 re 字元,裡面列出不要的字串或範圍! 範例:搜尋的字串可以是 (oog) (ood) 但不能是 (oot) ,那個 ^ 在 內時,代表的意義是『反向選擇』的意思。 例如,我不要大寫位元組,則為 [^a-z]。但是,需要特別注意的是,如果以 grep -n [^a-z] regular_express.txt 來搜尋,卻發現該檔案內的所有行都被列出,為什麼?因為這個 [^a-z] 是『非大寫位元組』的意思, 因為每一行均有非大寫位元組,例如第一行的 "open source" 就有 p,e,n,o.... 等等的小寫字grep -n 'oo[^t]' regular_express.txt

\

意義:連續 n 到 m 個的『前乙個 re 字元』 意義:若為 \ 則是連續 n 個的前乙個 re 字元, 意義:若是 \ 則是連續 n 個以上的前乙個 re 字元! 範例:在 g 與 g 之間有 2 個到 3 個的 o 存在的字串,亦即 (goog)(gooog)grep -n 'go\g' regular_express.txt

Ubuntu基本的正規表示式元字元集合及意義

符號 意義 用於匹配前面乙個普通字元的0次或多次重複 用於匹配任意乙個字元 用於匹配首行,表示行首的字元時 字元後的的那個字元 或字串 用於匹配首尾,符號放在匹配字元之後,與 符號的功能和用法都相反 用於匹配字元集合,該符號支援窮舉方法列出字元集合的所以元素,也支援 使用 符號表示字集合範圍,表明字...

Python正規表示式基本字符集

英文句點 萬用字元 用於表示任意字元 反斜槓 轉義字元 如 就表示單純的英文句點符號了 中括號 字符集 表示裡面的任意乙個,如 abc 則匹配a,b,c中的任意乙個。pj ython可以匹配python或jyson,注意並不能匹配pjython什麼的。另外可以用 0 9 表示匹配任意乙個數字,同理 ...

基本正規表示式元字元

1.字元匹配 匹配任意單個字元,可以是乙個漢字 匹配指定範圍內的任意單個字元,示例 wang 0 9 a z a za z 匹配指定範圍外的任意單個字元,示例 wang alnum 字母和數字 alpha 代表任何英文大小寫字元,亦即a z,a z lower 小寫字母,示例 lower 相當於 a...