前端正則表達(dá)式書(shū)寫(xiě)
一.寫(xiě)法
寫(xiě)法一
/正則表達(dá)式/修飾符
修飾符
- /i (忽略大小寫(xiě))
- /g (全文查找出現(xiàn)的所有匹配字符)
- /m (多行查找)
- /gi(全文查找、忽略大小寫(xiě))
- /ig(全文查找、忽略大小寫(xiě))
例子:/a/gi 查找內(nèi)容中的a
不寫(xiě)修飾符默認(rèn)只匹配一個(gè)
寫(xiě)法二
let a = new RegExp('/正則表達(dá)式/','修飾符')
二.常用幾個(gè)方法
1.match
方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
返回的內(nèi)容
["匹配到的內(nèi)容", index: 3, input: "字符串對(duì)象", groups: undefined]
如果regexp修飾符為/g則返回對(duì)象為一個(gè)數(shù)組
語(yǔ)法:
1.stringObject.match(str)
2.stringObject.match(regexp)
拿查找字符串a(chǎn)bc 中的a舉例
'aabc' .match('a') 只匹配第一個(gè)
'aabc' .match(/a/) 只匹配第一個(gè)
2.replace
用于字符串中一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式相匹配的子串
語(yǔ)法:
1.stringObject.replace('查找的第一個(gè)字符串','修改后的字符串')
2.stringObject.replace(regexp(正則表達(dá)式匹配到的內(nèi)容所有替換),'修改后的字符串')
3.search
他用法與match類(lèi)似不過(guò)他返回的是索引
語(yǔ)法:
1.stringObject.match('searchvalue')
2.stringObject.match(regexp)
4.test
方法用于檢測(cè)一個(gè)字符串是否匹配某個(gè)模式,如果字符串中含有匹配的文本,則返回 true,否則返回 false。
語(yǔ)法:
regexp.test(stringObject)
如
/a/.test('a') #返回true/a/.test('ac') #返回true/a/.test('c') #返回false
5.exec
方法就是用來(lái)檢索字符串中正則表達(dá)式的匹配,如果匹配到了那么就返回一個(gè)存放有結(jié)果的數(shù)組,如果沒(méi)有匹配到就返回一個(gè)null
regexp.exec(stringObject)
其實(shí)和match類(lèi)似,不過(guò)就是填寫(xiě)的位置返一下
但是有一點(diǎn)
console.log('c'.exec('c')); #會(huì)報(bào)錯(cuò)console.log('c'.match('c')); #會(huì)匹配c
我自己是一名從事了多年開(kāi)發(fā)的web前端老程序員,目前辭職在做自己的web前端私人定制課程,今年年初我花了一個(gè)月整理了一份最適合2019年學(xué)習(xí)的web前端學(xué)習(xí)干貨,各種框架都有整理,送給每一位前端小伙伴,想要獲取的可以關(guān)注我的頭條號(hào)并在后臺(tái)私信我:前端,即可免費(fèi)獲取。
作者:大前端世界
鏈接:https://www.jianshu.com/p/6f4a238daa9e






