Javascript正則表達(dá)式是前端開發(fā)中非常重要的一部分,正則表達(dá)式通常用于字符串的匹配、查找和替換操作。在面試中,掌握正則表達(dá)式的常用語法和方法是必不可少的,請(qǐng)聽下面的介紹。
首先,正則表達(dá)式由字面量和RegExp對(duì)象兩種方式來表示。其中字面量的寫法是在兩個(gè)正斜杠之間寫出正則表達(dá)式的內(nèi)容,例如用正則表達(dá)式匹配手機(jī)號(hào)碼:
let reg = /^1[3456789]\d{9}$/;
其中,^表示字符串開始,$表示字符串結(jié)束,[3456789]表示以3、4、5、6、7、8、9開頭,\d表示數(shù)字,{9}表示數(shù)字出現(xiàn)9次。
另一種是RegExp對(duì)象,可以通過構(gòu)造函數(shù)來創(chuàng)建一個(gè)正則表達(dá)式對(duì)象,例如匹配身份證號(hào)碼:
let reg = new RegExp(/\d{17}[\d|x]|\d{15}/);
其中,\d表示數(shù)字,{17}表示出現(xiàn)17次,[x|X]表示x或X,|表示或,{15}表示出現(xiàn)15次。
常用的正則表達(dá)式元字符有:^、$、*、+、?、.、[]、{}、()等。其中,^表示字符串開頭,$表示字符串結(jié)尾,*表示出現(xiàn)0次或多次,+表示出現(xiàn)1次或多次,?表示出現(xiàn)0次或1次,.表示任意字符,[]表示匹配一個(gè)字符集合,{}表示匹配次數(shù),()表示匹配分組。
例如,匹配以字母v和e開頭、中間有3個(gè)字符、結(jié)尾為字母r的字符串:
let reg = /^ve..r$/;
其中,.表示任意字符,連續(xù)用3個(gè)表示有3個(gè)字符。
還有一種非常常用的元字符是\,表示轉(zhuǎn)義字符。例如,匹配含有特殊字符的字符串:
let reg = /[^\w\s]/;
其中,\w表示單詞字符,\s表示空白字符,^表示非,匹配不是單詞字符和空白字符的字符。
常用的正則表達(dá)式方法有:test()、match()、search()、replace()和split()。其中,test()方法返回true或false,表示是否匹配,例如:
let str = 'JavaScript'; let reg = /script/i; console.log(reg.test(str)); // true
其中,i標(biāo)識(shí)表示忽略大小寫匹配。
match()方法返回匹配到的數(shù)組,例如:
let str = 'Hello world, welcome to JavaScript.'; let reg = /world/; console.log(str.match(reg)); // ['world']
search()方法返回匹配到的索引值,例如:
let str = 'Hello world, welcome to JavaScript.'; let reg = /world/; console.log(str.search(reg)); // 6
replace()方法返回替換后的字符串,例如:
let str = 'Hello JavaScript!'; let reg = /JavaScript/; console.log(str.replace(reg, 'world')); // 'Hello world!'
split()方法返回字符串分割成數(shù)組,例如:
let str = 'JavaScript is the most popular scripting language.'; let reg = /\s/; console.log(str.split(reg)); // ['JavaScript', 'is', 'the', 'most', 'popular', 'scripting', 'language.']
綜上所述,正則表達(dá)式在前端開發(fā)中發(fā)揮著重要的作用,我們需要熟練掌握正則表達(dá)式的常用語法和方法,才能更好地完成開發(fā)任務(wù)。