第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于正則表達(dá)式問題

關(guān)于正則表達(dá)式問題

犯罪嫌疑人X 2019-03-21 18:15:03
var re = /quicks(brown).+?(jumps)/ig;var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog');(來源于MDN的正則表達(dá)式文檔)quck是匹配quick開頭 s是匹配空白字符,(brown)是第一個分組 到了.+?這里就看不懂了,.+是任意字符的一個或多個, 后面緊跟的這個問號是什么意思呢?
查看完整描述

3 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊

你最好給出原始的內(nèi)容來源,參考一下
如果按上面的解釋,就不知道這個與

var re = /quicks(brown).*(jumps)/ig;

的區(qū)別了。

這里的.+? 應(yīng)該是懶匹配的意思吧。

=============================
確認(rèn)了,就是懶匹配的意思
這里.+?意思就是匹配至少1個任意字符,盡量少取。
比如

var re0 = /quick\s(brown).+?(jumps)/ig;

var re1 = /quick\s(brown).+(jumps)/ig;

var result01 = re0.exec('The Quick BrownJumps Fox Jumps Over The Lazy Dog'); // 這里匹配到Quick BrownJumps Fox Jumps 而不是 Quick BrownJumps,因為BrownJumps中沒有字符,不符合.+

re0.lastIndex=0;

var result02 = re0.exec('The Quick Brown Fox Jumps Over The Lazy Dog');//這里匹配到 Quick Brown Fox Jumps

re0.lastIndex=0;

var result03 = re0.exec('The Quick Brown Jumps Fox Jumps Over The Lazy Dog');// 這里匹配到 The Quick Brown Jumps 而不是 Quick Brown Jumps Fox Jumps,因為懶匹配,就是盡量少匹配


var result11 = re1.exec('The Quick BrownJumps Fox Jumps Over The Lazy Dog');// 這里匹配到 Quick BrownJumps Fox Jumps 而不是 Quick BrownJumps,因為 Quick BrownJumps 不符合.+

re1.lastIndex=0;

var result12 = re1.exec('The Quick Brown Fox Jumps Over The Lazy Dog');// 這里匹配到 The Quick Brown Fox Jumps

re1.lastIndex=0;

var result13 = re1.exec('The Quick Brown Jumps Fox Jumps Over The Lazy Dog');// 這里匹配到The Quick Brown Jumps Fox Jumps 而不是 Quick Brown Jumps,就是因為貪婪匹配,要盡量多匹配內(nèi)容

console.log(result01);

console.log(result02);

console.log(result03);

console.log(result11);

console.log(result12);

console.log(result13);

你看一下測試結(jié)果就知道了。

查看完整回答
反對 回復(fù) 2019-04-02
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊

.+?問好緊跟著.+,意思就是前面的.+組合(任意字符)可有可無。


查看完整回答
反對 回復(fù) 2019-04-02
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗 獲得超10個贊

我來強行分析一波你的正則吧,按照我個人的理解是這樣的。
quicks 這個沒什么好說的就是匹配quicks

(brown). 表示的是:brown后面接任意字符,這里為了方便稱呼把它稱為:a
(brown).+ 表示的是:至少有一個a,可以有多個。這里為了方便稱呼把它稱為:b
(brown).+? 表示的是:有一個b或者沒有b,都能滿足匹配。

至于最后的(jumps)就是jumps
i:忽略大小寫
g:全局匹配

總結(jié)起來:滿足匹配的字符串要先有一個quicks,然后有一個b或者沒有b,最后要有jumps


查看完整回答
反對 回復(fù) 2019-04-02
  • 3 回答
  • 0 關(guān)注
  • 477 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號