自己學(xué)習(xí),只記些其中的要點。
.匹配任意單個字符, 但不匹配換行符
在方括號中使用連字符來指定字符集的范圍. 在方括號中的字符集不關(guān)心順序. 例如, 表達(dá)式[Tt]he 匹配 the 和 The.
方括號的句號就表示句號. 表達(dá)式 ar[.] 匹配 ar.字符串
一般來說 ^ 表示一個字符串的開頭, 但它用在一個方括號的開頭的時候, 它表示這個字符集是否定的. 例如, 表達(dá)式[/^c]ar(沒有/) 匹配一個后面跟著ar的除了c的任意字符.
號匹配 在之前的字符出現(xiàn)大于等于0次
字符和.字符搭配可以匹配所有的字符.. 和表示匹配空格的符號s連起來用, 如表達(dá)式scats*匹配0或更多個空格開頭和0或更多個空格結(jié)尾的cat字符串.
+號匹配+號之前的字符出現(xiàn) >=1 次. 例如表達(dá)式c.+t 匹配以首字母c開頭以t結(jié)尾,中間跟著任意個字符的字符串. "c.+t" => The fat cat sat on the mat.
在正則表達(dá)式中元字符 ? 標(biāo)記在符號前面的字符為可選, 即出現(xiàn) 0 或 1 次. 例如, 表達(dá)式 [T]?he 匹配字符串 he 和 The. "[T]?he" => The car is parked in the garage.
在正則表達(dá)式中 {} 是一個量詞, 常用來一個或一組字符可以重復(fù)出現(xiàn)的次數(shù). 例如, 表達(dá)式 [0-9]{2,3} 匹配最少 2 位最多 3 位 0~9 的數(shù)字.
"[0-9]{2,3}" => The number was 9.9997 but we rounded it off to 10.0.
我們可以省略第二個參數(shù). 例如, [0-9]{2,} 匹配至少兩位 0~9 的數(shù)字.
"[0-9]{2,}" => The number was 9.9997 but we rounded it off to 10.0.
如果逗號也省略掉則表示重復(fù)固定的次數(shù). 例如, [0-9]{3} 匹配3位數(shù)字
"[0-9]{3}" => The number was 9.9997 but we rounded it off to 10.0.
(...) 特征標(biāo)群
表達(dá)式 (ab)* 匹配連續(xù)出現(xiàn) 0 或更多個 ab. (c|g|p)ar 匹配 car 或 gar 或 par.
| 或運算符
(T|t)he|car 匹配 (T|t)he 或 car
轉(zhuǎn)碼特殊字符
反斜線 在表達(dá)式中用于轉(zhuǎn)碼緊跟其后的字符. 用于指定 { } [ ] / + * . $ ^ | ? 這些特殊字符. 如果想要匹配這些特殊字符則要在其前面加上反斜線 .
"(f|c|m)at.?" => The fat cat sat on the mat.
錨點. ^ 指定開頭, $ 指定結(jié)尾.
^ 號
^ 用來檢查匹配的字符串是否在所匹配字符串的開頭.
$ 號
$ 號用來匹配字符是否是最后一個.
"(at.)$" => The fat cat. sat. on the mat.
18.簡寫字符集
. 除換行符外的所有字符 w 匹配所有字母數(shù)字, 等同于 [a-zA-Z0-9_] W 匹配所有非字母數(shù)字, 即符號, 等同于: **[^w]** d 匹配數(shù)字: [0-9] D 匹配非數(shù)字: [^d] s 匹配所有空格字符, 等同于: [ f p{Z}] S 匹配所有非空格字符: [^s] f 匹配一個換頁符 匹配一個換行符 匹配一個回車符 匹配一個制表符 v 匹配一個垂直制表符 p 匹配 CR/LF (等同于 ),用來匹配 DOS 行終止符
19.前后關(guān)聯(lián)約束(前后預(yù)查)
?= 前置約束-存在 ?! 前置約束-排除 ?<= 后置約束-存在 ?20.?=... 前置約束(存在)
表達(dá)式 (T|t)he(?=sfat) 匹配 The 和 the, 在括號中我們又定義了前置約束(存在) (?=sfat) ,即 The 和 the 后面緊跟著 (空格)fat."(T|t)he(?=sfat)" => The fat cat sat on the mat.
21.?!... 前置約束-排除表達(dá)式 (T|t)he(?!sfat) 匹配 The 和 the, 且其后不跟著 (空格)fat."(T|t)he(?!sfat)" => The fat cat sat on the mat.
22.?<= ... 后置約束-存在例如, 表達(dá)式 (?<=(T|t)hes)(fat|mat) 匹配 fat 和 mat, 且其前跟著 The 或 the."(?<=(T|t)hes)(fat|mat)" => The fat cat sat on the mat.
23.?例如, 表達(dá)式 (?"(? The cat sat on cat.
24.標(biāo)志也叫修飾語, 因為它可以用來修改表達(dá)式的搜索結(jié)果. 這些標(biāo)志可以任意的組合使用, 它也是整個正則表達(dá)式的一部分.i 忽略大小寫. g 全局搜索. m 多行的: 錨點元字符 ^ $ 工作范圍在每行的起始.25.修飾語 i 用于忽略大小寫. 例如, 表達(dá)式 /The/gi 表示在全局搜索 The, 在后面的 i 將其條件修改為忽略大小寫, 則變成搜索 the 和 The, g 表示全局搜索.
"/The/gi" => The fat cat sat on the mat.
26.修飾符 g 常用語執(zhí)行一個全局搜索匹配, 即(不僅僅返回第一個匹配的, 而是返回全部). 例如, 表達(dá)式 /.(at)/g 表示搜索 任意字符(除了換行) + at, 并返回全部結(jié)果.
27.多行修飾符 m 常用語執(zhí)行一個多行匹配.
例如, 表達(dá)式 /at(.)?$/gm 表示在待檢測字符串每行的末尾搜索 at后跟一個或多個 . 的字符串, 并返回全部結(jié)果.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88572.html
摘要:本文內(nèi)容共正則表達(dá)式火拼系列正則表達(dá)式回溯法原理學(xué)習(xí)正則表達(dá)式,是需要懂點兒匹配原理的。正則表達(dá)式迷你書問世了讓幫你生成和解析參數(shù)字符串最全正則表達(dá)式總結(jié)驗證號手機(jī)號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。 JS 的正則表達(dá)式 正則表達(dá)式 一種幾乎可以在所有的程序設(shè)計語言里和所有的計算機(jī)平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...
摘要:最全正則表達(dá)式總結(jié)驗證號手機(jī)號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。學(xué)習(xí)目標(biāo)了解正則表達(dá)式語法在中使用正則表達(dá)式在中使 JS高級技巧 本篇是看的《JS高級程序設(shè)計》第23章《高級技巧》做的讀書分享。本篇按照書里的思路根據(jù)自己的理解和經(jīng)驗,進(jìn)行擴(kuò)展延伸,同時指出書里的一些問題。將會討論安全的類型檢測、惰性載入函數(shù)、凍結(jié)對象、定時器等話題。1. 安全的類型檢測...
摘要:正則大法好,正則大法好,正則大法好,重要的事情說三遍。第二部分,這個部分是整個表達(dá)式的關(guān)鍵部分。學(xué)習(xí)正則如果還沒有系統(tǒng)學(xué)習(xí)正則表達(dá)式,這里提供一些網(wǎng)上經(jīng)典的教程供大家學(xué)習(xí)。正則表達(dá)式使用單個字符串來描述匹配一系列匹配某個句法規(guī)則的字符串。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動態(tài),大家一起多交流學(xué)習(xí),共同...
摘要:正則大法好,正則大法好,正則大法好,重要的事情說三遍。第二部分,這個部分是整個表達(dá)式的關(guān)鍵部分。學(xué)習(xí)正則如果還沒有系統(tǒng)學(xué)習(xí)正則表達(dá)式,這里提供一些網(wǎng)上經(jīng)典的教程供大家學(xué)習(xí)。正則表達(dá)式使用單個字符串來描述匹配一系列匹配某個句法規(guī)則的字符串。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動態(tài),大家一起多交流學(xué)習(xí),共同...
摘要:說來慚愧,做前端快三年對于正則表達(dá)式的應(yīng)用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語法和規(guī)則,這次項目中多次用到了需要匹配替換的動作,終于下定決心去研究一下了。 說來慚愧,做前端快三年對于正則表達(dá)式的應(yīng)用還是很淺薄,大家都知道正則的速度基本上是最快的,但就是懶得去記那些語法和規(guī)則,這次項目中多次用到了需要匹配替換的動作,終于下定決心去研究一下了。 實例化正則對...
閱讀 2175·2021-11-11 16:55
閱讀 1697·2019-08-30 15:54
閱讀 2827·2019-08-30 15:53
閱讀 2224·2019-08-30 15:44
閱讀 1160·2019-08-30 15:43
閱讀 974·2019-08-30 11:22
閱讀 1954·2019-08-29 17:20
閱讀 1576·2019-08-29 16:56