1、建構函式regexp建立正則物件
var pattern = new regexp('s$'); //pattern匹配以s結尾的字串
2、使用正則直接量
var pattern = /s$/; //建議這樣寫
1、反斜線\ 在正規表示式中表示轉義序列
特殊符號:
^ $ . * + ? = ! : | \ / ( ) [ ]
如果想要在正規表示式中匹配它們,應該在他們前面加上反斜線,如:
var pattern = /\$/; //pattern匹配$符號
2、直接量字元
字元 匹配
\o nul字元(\u0000)
\t 製表符(\u0009)
\n 換行符(\u000a)
\v 垂直製表符(\u000b)
\f 換頁符
\r 回車符
\xnn 由十六進製制數nn指定的拉丁字元,例如:\x0a等價於\n
\u***x 由十六進製制數***x指定的unicode字元,例如:\u0009等價於\t
\cx 控制字元^x。例如:\cj等價於換行符\n
3、字元類
字元 匹配
[...] 方括號內的任意字元
[^...] 非方括號內的任意字元
[0-9] 0-9之間的數字
[a-z] 小寫的拉丁字母
[a-z] 大寫的拉丁字母
[0-9a-za-z] 數字和大小寫拉丁字母
下面也屬於字元類:
. 除換行符和其他unicode行終止符之外的任意字元
\s 任意unicode空白符
\s 任意非unicode空白符
\d 任意ascii碼數字,等同於[0-9]
\d 任意非ascii碼數字的字元,等同於[^0-9]
\w 任意ascii碼單詞字元,等同於[a-za-z0-9_]
\w 任意非ascii數字,等同於[^a-za-z0-9_]
[\b] 在字元類中表示退格直接量
4、重複字元類
貪婪的重複字元
字元 匹配
前一項至少n次,但不能超過m次
前一項至少n次
前一項恰好n次
? 前一項0次或1次,等價於
+ 前一項至少一次,等價於
* 前一項0次或多次,等價於
var str = 'aaaaaa',
str2 = 'aaaaaabc',
pattern = /a+/,
pattern2,
pattern3;
pattern.exec(str); //全部匹配
pattern2 = /a+?/;
pattern2.exec(str); //只匹配了字串中str的第乙個a
pattern3 = /a+?bc/;
pattern3.exec(str2); //全部匹配,匹配結果為aaaaaabc
5、選擇,分組,引用
字元 含義例:|表示或,用於分隔選擇
() 子表示式(子模式),可以引用子模式匹配結果
(?:) 子表示式(子模式),可以引用子模式匹配結果,但是子模式匹配結果不出現在正則匹配結果集中
\n(n為數字) 引用對應的子模式匹配結果
6、位置字元
字元 匹配
^ 字串的開頭
$ 字串的結尾
\b 位於\w(單詞字元)與\w(非單詞字元)的邊界或位於乙個ascii單詞字元與乙個字串的開頭和結尾之間的邊界
\b 非詞語之間的位置
(?=p) 正前向宣告,要求接下來的字元與模式p匹配,但是不包括匹配中的那些字元
(?!=p) 反前向宣告,要求接下來的字元不與模式p匹配
4 5 pattern.exec(url); //匹配youhui子串
6 pattern2.exec(url); //全部匹配url變數值
1、標誌
標誌 含義g 全域性匹配
i 不區分大小寫
m 多行匹配
2、方法
exec 接受乙個字串引數,返回由完全匹配和子表示式匹配結果組成的陣列test 接受乙個字串引數,返回boolean值
compile 編譯正規表示式
3、屬性
source 正規表示式的文字global 是否擁有全域性搜尋標誌g
ignorecase 是否擁有標誌i
multiline 是否擁有標誌m
lastindex 搜尋匹配的開始位置(可讀寫)
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...