正規表示式概念:乙個有規則的表示式簡單的說就是乙個用於查詢的萬用字元
-> js 正規表示式物件 就是 由 正規表示式建立的物件, 該物件可以進行 匹配, 提取 和 替換.建立正規表示式物件
建構函式
var regex = new regexp( 正規表示式字串[, 匹配模式] );
字面量var regex = /正規表示式/;
//建立正則物件的兩種方法
var reg =
newregexp()
// console.dir(reg);
var rege =
/\k/
// console.log(rege);
// var str = 'abc'
//判斷字串中是否有符合的字元 語法:正則物件.test(字串) 返回值boolean
// console.log(rege.test(str));
var str =
'abcdefghijklmnopqrstuvwsyz'
//尋找符合的字元,返回boolean
var bl = str.
includes
('op'
) console.
log(bl)
;//尋找符合的字元,返回符合的字元的下標
var c = str.
search
('op'
) console.
log(c)
語法:例如:reg.test(str)正則物件.test( 字串 ) -> boolean
如果引數字串中含有 符合 正則匹配的 字串, 就返回 true, 否則返回 false
var reg =
/[sr]/
//轉義字元 \(\) \ \. \\
// var reg = /\(1\)/
var str =
'string'
console.
log(reg.
test
(str)
);
// . 表示任意乙個非換行字元
// 表示乙個字元,出現在中的字元
// | 或者
// var reg = /./
// var reg = /[s]/
var reg =
/[sr]/
//轉義字元 \(\) \ \. \\
// var reg = /\(1\)/
var str =
'string'
console.
log(reg.
test
(str));
//如果要顯示表示阿拉伯數字0到9,可以簡寫為[0
-9]//如果要顯示表示大寫英文本母a到z,可以簡寫為[a
-z]//如果要顯示表示小寫英文本母a到z,可以簡寫為
[a-z]
//亦可以合併來寫[0
-9a-za-z]
//表示限定字元為阿拉伯數字0到9,小寫英文本母a到z,大寫英文本母a到z
//要注意寫成[9-0][z-a][z-a]這種逆序的寫法是錯誤的
. 任意的乙個字元. 沒有任何限制是出現在中的乙個字元. 認為是 . 的限制級版本[abc]:等同於:a 或者 b 或者 c
| 可以認為是 允許使用多個字元的 匹配
// /字元(串)*/ 緊跟前面的字元出現0次或者多次
// var reg = /123*/
// /字元(串)+/ 緊跟前面的字元出現1次或者多次
// var reg = /123+/
// /字元(串)?/ 緊跟前面的字元出現0次或者1次
// var reg = /123?/
// /字元(串)/ 緊跟前面的字元連著出現次
// var reg = /1/
// /字元(串)/ 緊跟前面的字元至少連著出現次
// var reg = /1/
// /字元(串)/ 緊跟前面的字元連著出現次,至少連著出現number1次,可以出現更多次
var reg =
/1/
著重記憶:限定元字元都是限定緊跟著的字元,若是不是連續出現的字元,雖然也出現了限定的次數判斷式任然會返回false值
// /^字元/ 以該字元開頭
// /字元$/ 以該字元結尾
// var reg = /^a+$/ 意思為限定字元得全部為a,則之個字串得全部是a組成的
var reg =/^
1[3578][
0-9]
///限定以1開頭
var str =
'15345678910'
console.
log(reg.
test
(str));
var rege =
/b$/
//限定以b結尾
console.
log(rege.
test
('aaab'
))
\s 空白字元, 包括空格, tab, 回車換行等\s 非空白字元
js 中常常使用 [\s\s] 表示任意字元
\w 表示字元, 包含字母, 數字, 下劃線.
\w 非字元
\d 數字
\d 非數字
// \s空白字元,包括空格、tab、回車換行等
// \s非-----
// \w表示字元
// \w--非字元,例如鍵盤上的回車等
// \d數字
// \d非--
var str =
// 我有乙個郵箱, 是 , 還有 [email protected], 和 [email protected]
var reg =
/\w/
console.
log(reg.
test
(str)
);
使用正規表示式可以進行匹配, 使用 exec 可以將匹配到的資料提取出來reg.exec(str)最後篩選不到返回null語法: 正規表示式物件.exec( 字串 ) -> 封裝成陣列
var str =
'abc123def456hij789klmn'
var reg =
/\d+/g
var arr
while
(arr = reg.
exec
(str)
)console.
log(arr)
;
凡是在正規表示式中, 涉及到次數限定的, 一般預設都是盡可能的多匹配.
取消貪婪模式. 在次數限定符後面加上 ?
注意: 貪婪模式效能會略高於非貪婪模式, 所以開發的時候. 一般不考慮貪婪的問題只有**匹配結果出現問題了, 一般一次多匹配了, 才會取消貪婪
var str =
'123
4567890'
;//反向引用 呼叫之前的小括號中的部分
var reg =
/<(\w+)>.*?<\/\1>/g
var arr
while
(arr = reg.
exec
(str)
)
var reg =/[
^abc]
///不是以a或b或c開頭的字元
正規表示式是種嚴謹的用於查詢的萬用字元,如果簡單使用也要多多記憶基本的元字元,其中尤其要多多注意 () 元字元的作用,避免達不到預想的效果,而 | 或元字元優先順序最低,使用時也要多多注意 內建物件之正規表示式 簡單理解正規表示式
正規表示式 內建物件 使用者名稱 郵件 上網輸入的資訊 讓計算機檢查輸入是否符合 正規表示式是用於定義一些字串的規則,來檢查乙個字串是否符合規則 獲取將字串中符合規則的內容提取出來 語法 reg new regexp 正規表示式 匹配模式 使用typeof 檢查正則物件,會返回object 這個正規...
正規表示式理解
正規表示式問題 string regex 1 d 2 0 4 d 25 0 5 1 9 d 1 9 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 幫我把這一段解釋下,怎麼看都看不懂 驗...
理解正規表示式
1.概念 正規表示式 regular expression 是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串。這裡用php中的正規表示式說明,其他語言可參考 1 2 pattern test 3 st...