Regex正規表示式的語法介紹 帶例子

2021-10-03 08:46:23 字數 3375 閱讀 2937

(英文:regular expression,在**中常簡寫為regex)

正規表示式是乙個字串 使用單個字串來描述 用來定義匹配規則 匹配一系列符合某個句法規則的字串

在開發中 正規表示式通常被用來檢索 替換那些符合某個規則的文字。

圓括號代表了組

(abc|def|ghi)表示abc def ghi中的任意乙個 順序也必須一樣

1、字元類:

[abc]

含義:代表的是字元a、b 或 c

例如:匹配規則為"[abc]" ,那麼需要匹配的內容就是字元a,或者字元b,或字元c的乙個

[^abc]

含義:代表的是除了 a、b 或 c以外的任何字元

例如:匹配規則為"[^abc]",那麼需要匹配的內容就是不是字元a,或者不是字元b,或不是字元c的任意乙個字元

[a-za-z]

含義:代表的是a 到 z 或 a 到 z,兩頭的字母包括在內

例如:匹配規則為"[a-za-z]",那麼需要匹配的是乙個大寫或者小寫字母

[0-9]

含義:代表的是 0到9數字,兩頭的數字包括在內

例如:匹配規則為"[0-9]",那麼需要匹配的是乙個數字

[a-za-z_0-9]

含義:代表的字母或者數字或者下劃線(即單詞字元)

例如:匹配規則為" [a-za-z_0-9] ",那麼需要匹配的是乙個字母或者是乙個數字或乙個下劃線

2、預定義字元類(元字元):

.

含義:代表的是換行符以外的任何字元

例如:匹配規則為" . 「,那麼需要匹配的是乙個任意字元。如果就想使用 . 的話,使用匹配規則」\."來實現

\d

含義:代表的是 0到9數字,兩頭的數字包括在內,相當於[0-9]

例如:匹配規則為"\d ",那麼需要匹配的是乙個數字

「[\d]」 「[0-9]」

\d:匹配除了0-9的任意字元

\w

含義:代表的字母或者數字或者下劃線(即單詞字元),相當於[a-za-z_0-9]

例如:匹配規則為"\w ",,那麼需要匹配的是乙個字母或者是乙個數字或乙個下滑線

\w:匹配不是字母、數字、下劃線的字元

\s:匹配任意不可見字元, 包括空格、製表符、換行符等

\s:匹配任意可見字元

\b:匹配單詞的開始或結束

\t:匹配製表符

\n:匹配換行

^:匹配字串的開始位置

$:匹配字串的結束位置

\:轉義字元

3、數量詞:

x?

含義:代表的是x出現一次或一次也沒有

例如:匹配規則為"a?",那麼需要匹配的內容是乙個字元a,或者乙個a都沒有

x*

含義:代表的是x出現零次或多次

例如:匹配規則為"a*" ,那麼需要匹配的內容是多個字元a,或者乙個a都沒有

x+

含義:代表的是x出現一次或多次

例如:匹配規則為"a+",那麼需要匹配的內容是多個字元a,或者乙個a

x

含義:代表的是x出現恰好 n 次

例如:匹配規則為"a",那麼需要匹配的內容是5個字元a

x

含義:代表的是x出現至少 n 次

例如:匹配規則為"a",那麼需要匹配的內容是最少有5個字元a

x

含義:代表的是x出現至少 n 次,但是不超過 m 次

例如:匹配規則為"a",那麼需要匹配的內容是有5個字元a 到 8個字元a之間

string qq=

"1234567"

;boolean b=qq.

matches

("[1-9][0-9]"

);

代表第一位數 [1-9]代表第一位數必須在1和9之間 {}代表範圍 代表第二位數到第十一位數

string ip=

"192.168.1.1"

;boolean b=ip.

matches

("([0-9]\\.)[0-9]"

);

相當於("[0-9]\.[0-9]\.[0-9]\.[0-9]")

string email=

"[email protected]"

;boolean b=email.

matches

("\\w+@\\w+(\\.\\w+)+"

);

相當於("[0-9a-z_a-z_]+@[0-9a-z_a-z_]+\.[0-9a-z_a-z_]+\.[0-9a-z_a-z_]+")

string str =

" 12 44 68 piconjo 19 36 "

;//中間穿插著隨機長度的空格

string[

] a = str.

trim()

.split

(" +"

);

regex正規表示式 用到加號"+" 代表出現一次或多次

string ip =

"192.168.1.1"

;string[

] aa = ip.

split

("\\."

);

若regex為.的話 必須加雙斜槓轉義 否則無效

敏感詞/違禁詞遮蔽:

string dirtysay =

"hello暴血暴力暴血血腥暴血world"

;string cleansay = dirtysay.

replaceall

("(暴力|血腥)+"

,"*");

/*替換all全部違禁詞*/

這裡的加號"+" 代表出現一次或多次

replaceall:替換all全部違禁詞

正規表示式regex

正規表示式 regular expression 是乙個字串,表示一定的規則 api文件的pattern類中有其具體的規則定義 注意 regex嚴格區分大小寫 package cn.itcast.demo02 public class regexdemo02 檢驗郵箱位址是否合法 規則 123456...

RegEx正規表示式

eg select prod name from products where prod name regexp 000 描述了乙個規則,通過這個規則可以匹配一類字串平台雲 字母 數字 漢字 下劃線 以及沒有特殊定義的標點符號,都是 普通字元 能夠與多種字元匹配的表示式 注意區分大小寫,大寫是相反的...

正規表示式語法介紹

字元集合 說明 匹配輸入字串的開始位置。要匹配 字元本身,請使用 匹配輸入字串的結尾位置。要匹配 字元本身,請使用 標記乙個子表示式的開始和結束位置。要匹配小括號,請使用 和 和 修飾匹配次數的符號。要匹配大括號,請使用 匹配除了換行符 n 以外的任意乙個字元。要匹配小數點本身,請使用 修飾匹配次數...