柚子快報(bào)激活碼778899分享:前端的正則表達(dá)式
柚子快報(bào)激活碼778899分享:前端的正則表達(dá)式
今天處理校驗(yàn)問(wèn)題發(fā)現(xiàn)正在表達(dá)式還不會(huì),今天記錄學(xué)習(xí)一下
正則表達(dá)式的作用?
我接觸的場(chǎng)景:校驗(yàn)(判斷字符串是否符合你所指定的規(guī)則)
正則表達(dá)式的方法?
test()和match()
test()判斷字符串是否符合你所指定的規(guī)則?
match()將字符串中符合你制定規(guī)則內(nèi)容提取出來(lái)
test()注重判斷,match()注重內(nèi)容,校驗(yàn)是我們都是test()進(jìn)行判斷即可
正則表達(dá)式的書寫?
正則表達(dá)式類似字符串,只是我們跟他賦予了規(guī)則而已,已//表示
// 判斷 hello中是否有e
let a = 'hello'
let b = /e/
b.test(a)
?此時(shí)的b就以變?yōu)檎齽t表達(dá)式,判斷是否有e?
* + {}存在個(gè)數(shù)
為了處理負(fù)責(zé)的業(yè)務(wù)場(chǎng)景,正則表達(dá)式也提供的不同的符號(hào)來(lái)表示判斷條件
*+{}:表示存在個(gè)數(shù)的
不同點(diǎn):*表示存在0個(gè)及其以上
? ? ? ? ? ? ? +表示存在1個(gè)及其以上
? ? ? ? ? ? ? {}可以根據(jù)參數(shù)表示存在個(gè)數(shù),{1,2}表示至少存在1個(gè)而且小于3個(gè)
let a = 'hello'
let b = /e{2,3}/
let c = /e+/
let d = /e*/
b.test(a) // hello存在一個(gè)e不符合返回false
c.test(a) // true
d.test(a) // true
| [] - ^ 范圍選擇
| [] -?:范圍選取
不同點(diǎn):[]寫在//中,-寫在[]中?,
??????????????|寫在//中,可以寫字符串(看例子)? ? ??
^ :配合[]反向取值,寫在[]中后面還有個(gè)不寫在[]中的
let a = 'hello'
let b = /[abc]/ // 表示是否存在a、b、c其中一個(gè)字符
let c = /[a-f]/ // 表示是否存在a-f中其中一個(gè)字符
let d = /[^abc]/ // 表示是否不存在a、b、c字符
let e = /ab|bc|he/ //表示是否存在ab、bc、he其中一個(gè)
b.test(a) // false
c.test(a) // true
d.test(a) // true
e.test(a) // true
^$ 指定開頭結(jié)尾
這個(gè)比較好理解直接上例子
let a = 'hello'
let b = '/^h/' // 判斷是否h開頭
let c = '/h$/' // 判斷是否h結(jié)尾
let d = '/^hello$/' //判斷是否hello開頭,并且hello結(jié)尾
b.test(a) // true
c.test(a) // false
d.test(a) // true
?.通配符
表示任意一個(gè)
let a = 'hello'
let b = /h./ //表示h+任意一個(gè)
let c = /a./ //表示a+任意一個(gè)
b.test(a) //true
c.test(a) //false
\S 搜索空格
let a = 'hello word'
let b = /\S/ // 是否存在空格
b.test(a) // true
\轉(zhuǎn)義符
正則表達(dá)式中定義了很多特殊符合,如果我們想讓這些特殊符號(hào)變?yōu)槠胀ǚ?hào)就需要\
let a = 'hello.'
let b = /\./ // 判斷是否存在.
b.test(a) // true
未完待續(xù)(大概率不寫了自己這些就夠看了,還有什么經(jīng)常使用的正則希望大家評(píng)論)
柚子快報(bào)激活碼778899分享:前端的正則表達(dá)式
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。