摘要:量詞首先匹配整個字符,如果失敗則回退一個字符再次嘗試。這個過程就叫做回溯。懶惰的量詞是從目標(biāo)的起始位置開始尋找匹配。每次檢查字符串的一個字符,尋找他要匹配的內(nèi)容。
工具
Regexpal是一個在線Javascript正則表達(dá)式處理器,地址是:http://www.regexpal.com
學(xué)習(xí)正則重要的是實踐操作,不妨舉個栗子:
匹配號碼:707-827-7019
字符組匹配[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]
d匹配任意阿拉伯?dāng)?shù)字
D匹配任何非阿拉伯?dāng)?shù)字
.匹配任意字符
ffffdDffffdDffffddD
ffffd.ffffd.ffffdd.
捕獲分組與后向應(yīng)用用圓括號()創(chuàng)建分組,用1來對捕獲分組內(nèi)容進(jìn)行向后引用
(d)d1 則匹配707
完整匹配號碼:
^((d{3})|^d{3}[.-]?)?d{3}[.-]?d{4}$
^ 表示一行起始位置
( 表示捕獲分組的起始符
( 表示左括號
d{3} 表示匹配三位數(shù)字
) 表示右括號
| 表示選擇
[.-]? 匹配一個可選的點號或連字符
) 捕獲分組的結(jié)束符
? 表示分組可選
$ 表示行結(jié)束為止
匹配行或字符串起始位置使用脫字符 ^
匹配行或字符串末尾位置使用美元符 $
量詞默認(rèn)是貪心的
貪心的量詞會首先匹配整個字符串。嘗試匹配時,他會選定盡可能多的內(nèi)容,也就是整個輸入。量詞首先匹配整個字符,如果失敗則回退一個字符再次嘗試。這個過程就叫做 回溯。
懶惰的量詞是從目標(biāo)的起始位置開始尋找匹配。每次檢查字符串的一個字符,尋找他要匹配的內(nèi)容。最后,他會嘗試匹配整個字符串。
占有量詞會覆蓋整個目標(biāo),然后嘗試尋找匹配內(nèi)容,但是他只嘗試一次,不會回溯。
如使用 .* 匹配任何字符零次或多次
使用花括號{}可限制某個模式在某個范圍內(nèi)匹配的次數(shù),另外,未經(jīng)修飾的量詞就是貪心量詞
7{1,}與7+
7{0,}與7*
7?與7{0,1}
本質(zhì)上則是一樣
7{m,n} 則會匹配m到n次
末尾加上?則使量詞變懶惰
7?? 首先7?匹配零個或一個7,懶惰后不會匹配任何內(nèi)容
7*? 匹配零個7
7+? 匹配一個7
7{m,n}? 匹配m個7
關(guān)于正則匹配html,xml標(biāo)簽,下次再寫
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37785.html
摘要:本文內(nèi)容共正則表達(dá)式火拼系列正則表達(dá)式回溯法原理學(xué)習(xí)正則表達(dá)式,是需要懂點兒匹配原理的。正則表達(dá)式迷你書問世了讓幫你生成和解析參數(shù)字符串最全正則表達(dá)式總結(jié)驗證號手機(jī)號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。 JS 的正則表達(dá)式 正則表達(dá)式 一種幾乎可以在所有的程序設(shè)計語言里和所有的計算機(jī)平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...
摘要:正則表達(dá)式一直是里比較難以掌握的點。在中創(chuàng)建正則的兩種方式使用字面量這就是正則表達(dá)式的字面量語法,表示正則表達(dá)式的模式,為正則表達(dá)式的標(biāo)志。字面量形式的正則表達(dá)式一般使用較多,也推薦大家盡可能使用這種形式,簡潔易讀,符合正常的使用習(xí)慣。 正則表達(dá)式一直是js里比較難以掌握的點。 看不懂,學(xué)不會,記不住。 每次需要用到正則的時候,都需要再去查找資料。 今天花時間把正則的知識點總結(jié)下,希望...
摘要:正則表達(dá)式總結(jié)知識點總結(jié)正則表達(dá)式正則表達(dá)式為什么需要正則表達(dá)式文本的復(fù)雜處理。學(xué)習(xí)正則表達(dá)式很大程度上就是學(xué)習(xí)表達(dá)式的語法規(guī)則。捕獲元素編號為零的第一個捕獲是由整個正則表達(dá)式模式匹配的文本。 正則表達(dá)式總結(jié) @(Java知識點總結(jié))[Java, 正則表達(dá)式] 正則表達(dá)式(regular expression) 為什么需要正則表達(dá)式? 文本的復(fù)雜處理 。 正則表達(dá)式的優(yōu)勢和用途? 一...
摘要:改為后,顯示出文件的大概大小,單位是或者或者默認(rèn)為,顯示的文件時間為時間。 這是 Nginx 學(xué)習(xí)總結(jié)的第三篇,上一篇介紹到了 Nginx 學(xué)習(xí)總結(jié)(2) —— 基本配置,這一篇會對Location 模塊 做一些總結(jié)。我們知道,Location 模塊 主要是用于針對某些特定的 URL 進(jìn)行配置,可以由前綴字符串定義,也可以由正則表達(dá)式定義。 Location 匹配規(guī)則 location...
摘要:正則表達(dá)式匹配但是不是使用正則表達(dá)式的方法提供了不少使用正則表達(dá)式的方法。當(dāng)正則表達(dá)式包含子表達(dá)式且不包含全局標(biāo)志時,二者返回相同的數(shù)組。示例當(dāng)正則表達(dá)式帶有全局標(biāo)志時,二者表現(xiàn)不一致。 一路以來遇到正則表達(dá)式的地方都是直接去百度的,因為感覺大部分遇到的正則表達(dá)式的地方都是很常見的。這次順便總結(jié)下正則表達(dá)式比較難記的部分,方便自己日后查閱吧( ̄. ̄) 正則表達(dá)式中的特殊字符 感覺MDN...
摘要:如果你知道正則表達(dá)式模式將會改變,或者你事先不知道什么模式,而是從另一個來源獲取,如用戶輸入,這些情況都可以使用構(gòu)造函數(shù)。 為什么要使用正則表達(dá)式 正則表達(dá)式通過由普通字符和特殊字符組成的文字模板完成對字符串的校驗,搜索,替換。在javascript中類似這樣 /^1d{10}$/ 上面的這個簡單的正則用來匹配手機(jī)號至于說正則表達(dá)式到底有什么意義,借由《精通正則表達(dá)式》里面的一句話來概...
閱讀 1508·2021-10-11 10:59
閱讀 1881·2021-09-09 11:36
閱讀 1393·2019-08-30 15:55
閱讀 1329·2019-08-29 11:20
閱讀 3064·2019-08-26 13:39
閱讀 1468·2019-08-26 13:37
閱讀 1960·2019-08-26 12:11
閱讀 1324·2019-08-23 14:28