關於正規表示式的一些個人筆記

2021-08-14 01:54:47 字數 2343 閱讀 4201

正規表示式:

使用正規表示式時,應注意當前的語系環境。

表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 或...