(9 1)正規表示式RE

2021-10-04 00:09:24 字數 1885 閱讀 3755

匹配數字: ^[0-9]+$   

123##範圍中的乙個數字,+表示前面的物件出現1次或者多次

匹配mail

[a-z0-9_]+@[a-z0-9]+\.[a-z]+

[email protected]

##\.這裡的\表示轉義,.的意思類似於shell中的?,表示任意單個字元

匹配ip

[0-9]

\.[0-9]

.[0-9]

.[0-9]

##[0-9]表示數字0-9出現1-3次數

grep

'^root' /etc/passwd 表示以root開頭的

grep

'^[rc]oot' /etc/passwd 表示以r或者c開頭的

grep

'^[^rc]oot' /etc/passwd 表示不以r或者c開頭的

^在裡面表示取反,不要

^在外面表示以誰開頭

\轉移字元會讓這些元字元失去作用,讓其還回原意。

love\. 表示只匹配love.

\(..\)在vim裡面用的多:

:% s/10.16.130.1/172.16.130.5/ 表示將172.16.130.1替換成172.16.130.5

:% s/\(172.16.130.\)1/\15/ 表示將172.16.130.1替換成172.16.130.5,其中\1代表\(172.16.130.\)的內容

:3,9s/\(.*\)/#\1/ 表示將3-9行給注釋掉

eg3:下面第乙個表示o出現2次

/love/		匹配love

/^love/ 匹配以love開頭的行

/love$/ 匹配love結尾的行

/l.ve/ 匹配l任意字元ve

/lo*ve/ 匹配l零到多個o可能沒有o的ve

/[li]ove/ 匹配love或love

/love[a-z]/ 匹配love後面跟著小寫字母

/love[^a-za-z0-9]/ 匹配love非字元

/.*/ 匹配整行,匹配任意一行

/^$/ 匹配空行

/^[a-z]

..$/ 注意這裡匹配的是3個字元

/^[a-z]

[a-z]*3[0-5]/ 匹配a-z開頭的,零到任意多個的a-z字元的,再接著跟著3以及0-5字元

/[a-z]*\./ 匹配零到多個小寫字母,後面跟著.

/^ *[a-z]

[a-z]

[a-z]$/ 匹配零到多個空格開頭的,跟著[a-z]

[a-z]

[a-z]結尾的行

/^[a-za-z]*[^,]

[a-za-z]*$/ 匹配零到多個英文本母開頭,跟著乙個非逗號,再跟著乙個字母結尾的

/\/ 匹配fourth

/\/ 匹配以f開頭,th結尾的單詞

/52\./ 匹配5出現2次

空行,即換行符和回車

/^$/

/^[ \t]*$/ 零個或多個空格或tab

注釋行/^#/

/^[ \t]*#/

正規表示式 RE

最近一段時間在研究nginx的rewirte重寫機制,因此對re需要有一定的了解,看了想關的文章,因此自己來寫一篇類似總結性的的文章。基本來說,正規表示式是一種用來描述一定數量文字的模式。regex regular express。本文用 regex 來表示一段具體的正規表示式。一段文字就是最基本的...

re正規表示式

1.數字 0 9 2.n位的數字 d 3.至少n位的數字 d 4.m n位的數字 d 5.零和非零開頭的數字 0 1 9 0 9 6.非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7.帶1 2位小數的正數或負數 d d 8.正數 負數 和小數 d d 9.有兩位小數的正實數 0 9 0 9...

Re正規表示式

import re 匯入re模組 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式表達 r d 分組 使用小括號分組 r d d 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式表達 r d 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式...