在js中,正規表示式由regexp物件標示,也可以用regexp()函式來建立。正規表示式是定義在/ /之間。
/s$/匹配以s結尾的字串,$標示結尾的意思。
在正規表示式中有些字元具有特殊的含義。
^ $ . * + ? = ! : | \ / () {}
在匹配的表示式中
/[abc]/ 匹配a, b,c中任意乙個
/^[abc]/ 不匹配其中任意乙個
/[a-z]/ 匹配小寫字母
/[a-z0-9]/ 匹配小寫字母和數字
\s匹配空格符,製表符和其他費unicode的空白符
\s匹配非unicode空白符的字元
\w匹配所有的acsii碼
\d匹配ascii碼的數字
\s任何unicode的空白符 匹配的大寫的是對小寫的取反
. 除換行符和其他unicode行終止符之外的任意字元
重複問題
最少n次,最多m次的匹配
最少n次
恰好n次
? 0次或1次
+ 最少一次
* 匹配0次或多次
/a+/ 匹配乙個或多個a
/a+?/只匹配乙個或多個必要的a, 匹配"aaa"中的第乙個a
匹配規則:尋找第乙個可能要匹配的位置
選擇,組合和引用
正規表示式的語法還包括指定選擇項,對子表示式分組和引用前一表示式的特殊字元.字元"|"用於分隔供選擇的字元.表示匹配其中的子項之一.這種選擇匹配是從左到右的,優先順序左邊大於右邊.
/a|ab/ 匹配ab的時候,是匹配a
()的作用是把包括的內容變成子表示式,具有普通表示式的作用。
()允許我們在 同乙個正規表示式後面引用前面的子表示式。例如\1表示第乙個帶括號的子式,由於()可以巢狀,\n表示對第n個左括號開始的子式的引用。
只是組合作用的標示 (?: )
指定匹配的位置
^ 匹配字串的開頭
$ 匹配字串的結束
\b 匹配乙個詞語的邊界
\b 匹配非詞語邊界的位置
(?=p) 正向前宣告,要求接下來的字元都要與模式p匹配,但不包括匹配中的那些字元
(?!p) 反向前宣告,要求接下來的字元不匹配p模式
i 執行不區分大小寫的匹配
g 全域性匹配,找到全部的結果
m 多行模式,^開始,$結束
用於模式匹配的string方法
search(),引數為正規表示式,返回第乙個匹配的位置,數字標示
repalce(),第乙個引數是正則表達,標示替換位置,第二個引數為要進行替換的字串
match(),引數為正規表示式,返回匹配位置的索引陣列
split(),引數為正則,結果為分割的字元陣列
js匹配的物件為regexp,裡面的資訊參見api。
Javascript正規表示式
這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...
JavaScript 正規表示式
一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...
javascript 正規表示式
正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...