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