javascript正則表達(dá)式總結(jié)
工具
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ù)字
.匹配任意字符
\d\d\d\D\d\d\d\D\d\d\d\d\D
\d\d\d.\d\d\d.\d\d\d\d.
捕獲分組與后向應(yīng)用
用圓括號()創(chuàng)建分組,用\1來對捕獲分組內(nèi)容進(jìn)行向后引用
(\d)\d\1 則匹配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)簽,下次再寫
相關(guān)文章
Javascript基礎(chǔ)教程之break和continue語句
文章通過示例向我們展示了javascript中的break和continue語句,兩個對比起來,非常明了,需要的朋友可以參考下2015-01-01
javascript對象之內(nèi)置對象Math使用方法
Math對象的一些方法能實現(xiàn)我們課本上的某些數(shù)學(xué)計算,比較常用的方法有如下幾個2010-04-04
使用?Next.js?Cli?快速搭建和運(yùn)行?Web?應(yīng)用
這篇文章主要介紹了使用?Next.js?Cli?快速搭建和運(yùn)行?Web?應(yīng)用,需要的朋友可以參考下2024-04-04
Javascript基礎(chǔ)學(xué)習(xí)筆記(菜鳥必看篇)
下面小編就為大家?guī)硪黄狫avascript基礎(chǔ)學(xué)習(xí)筆記(菜鳥必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
JavaScript學(xué)習(xí)筆記整理_關(guān)于表達(dá)式和語句
下面小編就為大家?guī)硪黄狫avaScript學(xué)習(xí)筆記整理_關(guān)于表達(dá)式和語句。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09

