正規表示式:
使用正規表示式時,應注意當前的語系環境。
表12-1 p349
[:alnum:] :英文大小寫以及數字
[:alpha:] :英文大小寫
[:blank:] : 空格與【tab】按鍵
[:cntrl:] : 鍵盤上面的控制按鍵,包括cr,lf,tab,del等
[:digit:] : 數字 0-9
[:graph:] : 除了空格外的其他按鍵。
[:lower:] : 代表小寫字元 a-z
[:print:] : 任何可以被列印的字元
[:punct:] :標點符號
[:upper:] : 代表大寫字元 a-z
[:space:] : 會產生空白的字元,包括空格鍵【tab】 cr 等
[:xdigit:] : 代表十六進製制數字型別
grep 的一些高階用法:
grep [-a] [-b] [--color=auto] '搜尋字串' filename
-a : 列出該行和後續n行
-b : 列出該行和前面n行
--color=auto : 將正確的選取資料列出顏色
eg1:dmesg | grep -n -a3 -b2 --color=auto 'eth'
可以在 ~/.bashrc 內加上這行:alias grep='grep --color=auto'。 設定別名,然後source ~/.bashrc 來生效命令即可。
基礎正規表示式練習
1. grep -n 'the' filename 提取存在the的行
2. grep -vn 'the' filename 反向提取該行沒有the的行
3. grep -in 'the' filename 忽略大小寫
4. grep -n 't[ae]st' filename 't[ae]st'的含義是「tast」 or 「test」
5. grep -n '[^g]oo' filename 提取檔案中帶oo的字元,但oo前不帶g
6. grep -n '[^a-z]oo' filename oo前不帶小寫字母
7. grep -n 『[^[:lower:]]oo』 filename
8. grep -n '[[:digit:]]' filename
行首與行尾字元 "^ $"
9. grep -n '^the' filename 只選取行首存在the的字元
10. grep -n '^[a-z]' filename 列出開始是小寫字母的行
11. grep -n '\.$' filename 列出結尾是. 的字元,由於. 具有其他含義,所以這裡加入轉移字元。
12. grep -vn '^$' filename | grep -vn '^#'
13.任意字元 . 與重複字元 *
兩者在正規表示式中的含義:
. : 代表一定有乙個任意字元的意思。
* : 代表重複前乙個0到無窮多次的意思,為組合形態。
14. 限定連續re字元範圍{}
grep -n 'o\' filename
grep -n 'go\g' filename
基礎正規表示式字元
^word
意義:word為待查詢的字串。且在行尾。
例子:grep -n '^state' filename
word$
意義:word為待查詢的字串,且在行尾。
例子:grep -n '^state' filename .
意義:代表一定有乙個任意字元的字元。
例子:grep -n 'e.e' filename \
意義:轉義字元,將特殊符號的特殊意義去除。
例子:grep -n \' filename :查詢含有單引號的那一行 *
意義:重複零個到無窮個的前乙個字元
例子:grep -n 'ess*' filename
[list]
意義:從字元集合的re字元裡裡面找出想要選取的字元
例子:grep -n 'g[ld]' filename : 查詢gl 或 gd 的字元
[n1-n2]
意義:從字元集合的re字元裡面找出想要選取的字元範圍
例子:grep -n '[0-9]' filename : 查詢含有任意數字的那一行
[^list]
意義:從字元集合的re字元裡面找出不要的字串或範圍
例子:grep -n 'oo[^t]' filename : 字串oo的結尾不能有t \
意義:連續n到m個的前乙個re字元,\連續n個re字元,\連續n個以上re字元
例子:grep -n 'go\g' filename
正規表示式個人筆記
示例 if 1 0 9 test phone 上面的正規表示式是常見的驗證手機號碼註冊時的格式 解釋 表示開頭,表示結尾 表示結尾 0 9 表示10個字元佔位,這10個字元佔位的輸入只能是0 9之間的數字.如果去掉,寫成 0 9 則表示1個佔位,此佔位的字元只能是0 9.可以看做 0 9 等同於 0...
個人筆記 正規表示式應用
常見基本語法列表 特別字元描述 匹配乙個字串的開始,在 中使用是,表示不接受 內表示式的字元集合。匹配輸入字串的結尾,如果設定regexp物件的multiline屬性,則katex parse error undefined control sequence n at position 5 也匹配 ...
正規表示式的一些筆記
除了換行符的任意字元 d任意數字 w任意數字 字母 下劃線 s任意空白 d任意非數字 w任意非數字 字母 下劃線 s任意非空白符 r回車符 n 換行符 f 換頁符 t 製表符 v 垂直製表符 s任意空白符 0到多次 1到多次 0到1次 出現m次 出現至少m次 m到n次 或,ab bc 表示 ab 或...