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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JavaScript 正則表達(dá)式 dotall 和 global 標(biāo)志

JavaScript 正則表達(dá)式 dotall 和 global 標(biāo)志

我有一個(gè)這樣的字符串:#ab#cd我想將其分解為以下部分#:#ab和#cd我已經(jīng)用正則表達(dá)式嘗試過(guò)這個(gè),但我發(fā)現(xiàn)我無(wú)法讓它工作。我認(rèn)為以下方法可行:var test='#a\nb\n#c\nd';var re=/#.*?/gs;var match=test.match(re);alert(match.length);alert(match);也就是說(shuō),s修飾符通過(guò)換行符匹配,并且g修飾符選取多個(gè)實(shí)例。在?慵懶的量詞應(yīng)停止*從去太遠(yuǎn)。但是,我發(fā)現(xiàn)當(dāng)我使用 just 時(shí)s,它只會(huì)到行尾。顯然,我對(duì)正則表達(dá)式或match()方法都沒(méi)有了解。順便說(shuō)一下,我知道這s只是 JavaScript 的最新補(bǔ)充,但我在 Electron 工作,它很容易獲得。
查看完整描述

3 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

正則表達(dá)式對(duì)于這項(xiàng)工作來(lái)說(shuō)太多了。使用內(nèi)置字符串函數(shù)。


var str = `#a

b


#c

d`;


var chunks = str.split("\n\n");


console.log(chunks);


查看完整回答
反對(duì) 回復(fù) 2021-07-01
?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

如果唯一的目標(biāo)是在以#您開(kāi)頭的行分割成部分,則可以使用


test.split(/^(?=#)/m)

見(jiàn)JS演示:


var test="#a\nb\n\n#c\nd";

console.log(test.split(/^(?=#)/m))

將.*?在模式的結(jié)尾永遠(yuǎn)不匹配任何字符,因?yàn)樗翘^(guò)模式的結(jié)束信號(hào)匹配查找完成。



s.match(/#.*(?:\r?\n(?!\r?\n).*)*/g)

查看正則表達(dá)式演示

細(xì)節(jié)

  • # - 一個(gè)#字符

  • .* - 除換行符以外的任何 0+ 個(gè)字符

  • (?:\r?\n(?!\r?\n).*)* - 0 次或多次重復(fù)

    • \r?\n(?!\r?\n) - 一個(gè)可選的 CR 然后是 LF,后面沒(méi)有一個(gè)可選的 CR 然后是 LF

    • .* - 除換行符以外的任何 0+ 個(gè)字符

或者,使用splitwith/(?:\r?\n){2,}/匹配 2 個(gè)或更多換行符序列。

JS演示:

var test="#a\nb\n\n#c\nd";


console.log(test.match(/#.*(?:\r?\n(?!\r?\n).*)*/g));

console.log(test.split(/(?:\r?\n){2,}/));


查看完整回答
反對(duì) 回復(fù) 2021-07-01
  • 3 回答
  • 0 關(guān)注
  • 244 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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