正則表達(dá)式是用來(lái)做什么的?
答:用來(lái)處理字符串的,相當(dāng)于過(guò)濾的性質(zhì),找到符合要求的字符集。
怎樣創(chuàng)建一個(gè)正則表達(dá)式?
1,/條件/修飾符
2,new RegExp("條件", "修飾符") *(修飾符可選)
用法:
1,正則對(duì)象.exec(str)
如果沒(méi)找到符合匹配模式的字符集,返回null
如果找到返回一個(gè)新數(shù)組
下標(biāo)為0 的元素即匹配到的字符集,index即為此字符集的起始下標(biāo),input原字符串
//cxec 找不到返回null 不可選全局
var str = 'nsaius0ssabhjbvd';
console.log(/s/.exec(str))
//["0", index: 6, input: "nsaius0ssabhjbvd", groups: undefined]
2,正則對(duì)象.test(str)
返回布爾值
字符串中有符合正則匹配模式的字符集返回true, 否則返回false
//test返回布爾值
var str = 'nsaius0ssabhjbvd';
console.log(/s/g.test(str)); //true
3,字符串.replace(正則,'target')
返回修改后的字符集
// replace 返回修改后的字符集 可選全局
var str = 'nsaiuabsshjbvd';
console.log(str.replace(/s/,0)); //將s替換成0 n0aiuabsshjbvd
// console.log(str.replace(/s/g, 0)); //全局替換符合條件的都替換 n0aiuab00hjbvd
4,字符串.search(reg)
如果匹配到了字符集,則返回該字符集的起始下標(biāo),如果找不到,返回-1
// search 不可選全局
var str = 'nsaiuabhjbssvd';
console.log(str.search(/1/g)); //1 滿足條件的第一個(gè)s的下標(biāo)
5,字符串.match(reg)
如果沒(méi)有匹配到目標(biāo)字符集 返回null
如果匹配到了字符集,則返回?cái)?shù)組,下標(biāo)為0 的元素即匹配到的字符集,index即為此字符集的起始下標(biāo),input原字符串
如果匹配到了多個(gè)字符集,則返回匹配到了的字符集組成的數(shù)組
// match 返回?cái)?shù)組 可選全局
var str = 'nsaiusssabhjbvd';
console.log(str.match(/s/)); //找到第一個(gè)符合條件的下標(biāo)
// ["s", index: 1, input: "nsaiuabhjbvd", groups: undefined]
console.log(str.match(/s/g)) //["s", "s", "s", "s"]