正規表示式基礎

2021-09-01 19:44:03 字數 2056 閱讀 1595

目錄

概念:正規表示式的基礎知識:   

1、字串的組成

2、占有字元和零寬度

3、元字元

4、轉義字元

5、字元型別

6、重複

7、分支條件

8、分組

9、反義字元

小結:            

正規表示式是對字串操作的一種邏輯公式

概念解析:

1、正規表示式是一種邏輯公式

2、一種對字串操作的邏輯公式

3、對字串的什麼操作呢?對字串的一種過濾,搜尋符合限定條件(邏輯公式)的字串

對於字串「123」而言,包括三個字元,四個位置。

占有字元:正規表示式匹配到的東西,不是乙個位置,而且能儲存到陪陪的結果當中,這樣的就叫做占有字元。

零寬度:只匹配乙個位置,或者匹配的內容並不儲存到匹配結果中,就稱作零寬度

小結:占有字元是互斥的,也就是乙個字元,同一時間只能由乙個子表示式匹配

零寬度是非互斥的,乙個位置,可以同時由多個零寬度的子表示式匹配。

舉個零寬度的例子:用正規表示式來篩選找到乙個符合條件的位置,用來取到此位置之前或者之後的字元。

123ab456ab789ab     正規表示式的條件是:取『ab』這個位置之前的所有字元(這也就是所謂的零寬度斷言)

正規表示式語言由兩種基本字元型別組成:原義(正常)文字字元和元字元。正是元字元才使正規表示式具有處理能力。

限定符描述模式

.匹配出換行符以外的任意字元

\d*\.\d

\w匹配字母數字或下劃線或者漢字或者下劃線

"be+"

\s匹配任意空白符

"rai?n"

\d匹配數字

",\d"

\b匹配單詞開始或結束,它只是匹配乙個位置

"\d"

匹配字串開始

"\d"

匹配字串結束

"\d"

轉義字元是專門用在元字元身上的。如果你想要得到元字元本身的話需要使用"\"來取消這些元字元的特殊意義

首先字元型別使用""包括起來,且大小寫要區分

例子:[a-za-z0-9] 這個正規表示式表示:匹配乙個字元,這個字元可以是a-z範圍內或者a-z範圍內或者0-9範圍內的任意小寫或者大寫或數字字元

[abc]這個表示:匹配乙個字元,這個字元可以是a,可以是b,可以是c

**/語法

說明重複0次或多次

重複一次或多次

重複零次或1次

重複n次

重複至少n次

重複至少n次,但不多於m次

例子: [abc]*    匹配0個或多個字元,這些字元可以是a,可以是b,可以是c

[abc]    匹配5-10範圍內個字元,這些字元可以是a,可以是b,可以是c

指的是有幾種規則:用「|」把不同的規則分開

例子:[a]|[b]|[c]|[d]  匹配乙個字元:這個字元可以是a或b或c或d

使用小括號()來指定字表示式

例子:(\d)\d   表示:把我們分組的小括號裡面的東西重複三次,也就是說我們至少匹配3個最多匹配9個數字,後面再加上三個數字

有時需查詢不屬於某個能簡單定義的字元類的字元。比如查詢除了數字以外其它任意字元都行的情況,這時需用反義:

**/語法

說明\w

匹配任意乙個不是字母或數字下劃線或漢字的字元

\s匹配任意乙個不是空白符的字元

\d匹配不是數字的字元

\b匹配不是單詞開頭或者結尾的位置

[^x]

匹配除了x以外的任意字元

[^aeiou]

匹配除了aeiou這幾個字母以外的任意字元

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式基礎

限定符 d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d...

正規表示式基礎

元字元 描述 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾,但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如正規...