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