正規表示式常用知識和練習

2021-09-29 14:42:27 字數 1800 閱讀 1004

一些基礎沒有寫(例如.+*的作用等)

常用:\w                匹配字母、數字、下劃線

\b                匹配乙個單詞邊界

\d                匹配乙個數字字元

\s                匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]

匹配空格(直接敲空格)

\n                 第n個子表示式

(?:pattern)        匹配 pattern 但不獲取匹配結果,也就是說這是乙個非獲取匹配,不進行儲存供以後使用

(?=pattern)        正向肯定預查

(?!pattern)        反向肯定預查

(?<=pattern)    正向否定預查

(?筆記:

1.?的作用

1)匹配單個字元

2)當該字元緊跟在任何乙個其他限制符 (*, +, ?, , , ) 後面時,該表示式從"貪婪"表示式轉換為"非貪婪"表示式或者最小匹配。

對於字串 "oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配所有 'o'。

2.(?:pattern)作用

匹配 pattern 但不獲取匹配結果,也就是說這是乙個非獲取匹配,不進行儲存供以後使用。

這在使用 "或" 字元 (|) 來組合乙個模式的各個部分是很有用。

例如, 'industr(?:y|ies) 就是乙個比 'industry|industries' 更簡略的表示式。

練習:1.轉換格式:

2018-09-01    2222    6666

2018-09-01    2222    6666

2018-09-01    2222    6666

->

('2018-09-01',2222,6666),

('2018-09-01',2222,6666),

('2018-09-01',2222,6666),

查詢:^(\d-\d-\d)\t(\d*)\t(\d*)$

替換:\('\1',\2,\3\),

2.匹配aaa或者bbb開頭的單詞

aaakj bbbjk ksjdf absdjfh ababc abbc 

//aaa\w*?\b|bbb\w*?\b

3.匹配連續ab,至少兩次

aaakj bbbjk ksjdf absdjfh ababc abbc 

(ab)

//匹配到ababc

4.匹配a或b出現2次

aaakj bbbjk ksjdf absdjfh ababc abbc bac

[ab]

//匹配到所有aa,bb,ab,ba

5.匹配所有的id數字(反向肯定預查),,

,,],"version":"15"},"success":true}

(?<="id":)\d+(?=,")或(?<="id":)\d+

6.匹配所有相鄰相同的字元

aabbc22de

(.)\1

7.2.2

2.200

2.020

2.02.20

2.02

2.222

2.2220

2.2222

2.22

匹配非0結尾的最多3位小數:^[0-9]+(\.[0-9][^0]$|\.[1-9]$)

匹配到2.2,2.02,2.22,2.222

8.匹配非末尾(只匹配中間出現的和開頭的)的2

25252652352

[2](?!$)

正規表示式 常用正規表示式

一 校驗數字的表示式 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 有兩位小數的...

正規表示式 常用正規表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...

正規表示式常用

正規表示式的介紹 1 資料型別 基本資料型別 number string boolean null undefined 複雜資料型別 array function object math date regexp正規表示式 string number boolean 2 regular express...