欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 貪婪匹配

Javascript正則表達(dá)式里的貪婪匹配指的是在匹配過(guò)程中盡可能多的匹配字符,直到條件不滿足為止。比如下面這個(gè)例子:

let str = "abcdefg";
let result = str.match(/a.*g/);
console.log(result[0]);

輸出結(jié)果為"abcdefg",這就是因?yàn)槠ヅ溥^(guò)程中會(huì)盡可能的匹配多的字符來(lái)滿足條件。而如果我們把正則表達(dá)式改成/a.*?g/,則會(huì)輸出"abg",這里使用了非貪婪匹配,只匹配必要的字符。

我們?cè)賮?lái)看一個(gè)例子:

let str = "aaaabbbbccccddddeeee";
let result = str.match(/a.*e/);
console.log(result[0]);

輸出結(jié)果為"aaaabbbbccccddddeeee",這也是因?yàn)槟J(rèn)的貪婪匹配盡可能多的匹配字符。不過(guò)我們可以通過(guò)修改正則表達(dá)式來(lái)實(shí)現(xiàn)非貪婪匹配:

let str = "aaaabbbbccccddddeeee";
let result = str.match(/a.*?e/);
console.log(result[0]);

輸出結(jié)果為"aaaa",可以看到通過(guò)使用非貪婪匹配,我們只匹配了必要的字符。

那么如何在代碼中使用非貪婪匹配呢?可以通過(guò)在量詞后加上問(wèn)號(hào)"?"來(lái)實(shí)現(xiàn):

let str = "abaacdacbabbccc";
let result = str.match(/a.+?c/);
console.log(result[0]); //輸出"aac"

在處理正則表達(dá)式時(shí),必須要悉知貪婪匹配和非貪婪匹配之間的區(qū)別,可以讓我們更加靈活的操作字符串。