在前端開(kāi)發(fā)中,常常會(huì)使用正則表達(dá)式(正則)來(lái)匹配、查找、替換、驗(yàn)證字符串。而在正則中,字母b是一個(gè)常用的字符,有多種使用方法。下面我們來(lái)看看javascript正則中b的一些用法。
首先,b可以用來(lái)匹配以b結(jié)尾的字符串。例如,我們想匹配所有以“ab”為結(jié)尾的字符串,可以使用如下代碼:
const str = "Jonab, Kateb, Tom";
const regex = /ab\b/g;
console.log(str.match(regex)); // matched: ["ab", "ab"]
在上面的代碼中,“\b”表示匹配單詞的邊界。因此,如果字符串中包含“abc”等不以“ab”為結(jié)尾的字符串,則不會(huì)被匹配。
其次,b還可以用來(lái)匹配空格。例如,我們想匹配所有前面有空格的單詞,可以使用如下代碼:
const str = "Jon Snow, Kate Upton, Tom Hanks";
const regex = /\b\w+\s\b/g;
console.log(str.match(regex)); // matched: ["Jon ", "Kate ", "Tom "]
在上面的代碼中,“\s”表示匹配任意空白字符,包括空格、制表符、換行符等。因此,如果字符串中包含“JonSnow”等沒(méi)有空格的單詞,則不會(huì)被匹配。
另外,b還可以用來(lái)匹配非字母、數(shù)字、下劃線(xiàn)的字符。例如,我們想匹配所有不是字母、數(shù)字、下劃線(xiàn)的字符,可以使用如下代碼:
const str = "Hello*world!@#";
const regex = /\B[^a-zA-Z0-9_]+\B/g;
console.log(str.match(regex)); // matched: ["*", "!", "@", "#"]
在上面的代碼中,“\B”表示匹配非單詞邊界。因此,如果字符串中包含“Hello_world”等帶下劃線(xiàn)的單詞,則不會(huì)被匹配。
最后,b還可以用來(lái)查找匹配項(xiàng)的位置。例如,我們想查找單詞“world”的位置,可以使用如下代碼:
const str = "Hello, world!";
const regex = /\bworld\b/;
console.log(regex.exec(str).index); // matched: 7
在上面的代碼中,“exec()”方法返回第一個(gè)匹配項(xiàng)的位置,即“world”的位置。如果沒(méi)有匹配項(xiàng),則返回null。
以上就是javascript正則中b的一些常用用法。通過(guò)掌握這些技巧,我們可以更加靈活地處理字符串。