一些基礎沒有寫(例如.+*的作用等)
常用:\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...