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