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

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

如何使用 .exec() 訪問(wèn)/替換全局匹配正則表達(dá)式中的捕獲組?

如何使用 .exec() 訪問(wèn)/替換全局匹配正則表達(dá)式中的捕獲組?

森林海 2022-10-27 16:45:43
我正在嘗試訪問(wèn)所有捕獲組以進(jìn)行替換,在這種情況下,我們將所需的結(jié)果用括號(hào)括起來(lái):(有關(guān)所需結(jié)果,請(qǐng)參閱評(píng)論)const text = 'nonsense nonsense relevant nonsense nonsense relevant nonsense nonsense';const matcher = /(.*)(relevant)(.*)/gi // Not sure of my regex, since I can't figure out how to actually test itlet desiredResult; // 'nonsense nonsense (relevant) nonsense nonsense (relevant) nonsense nonsense'我見(jiàn)過(guò)while循環(huán)方法,但它總是只關(guān)注 中的一個(gè)捕獲組matcher,所以我無(wú)法從這些示例中收集我需要理解的內(nèi)容這個(gè)問(wèn)題可能有重復(fù),但我花了一個(gè)多小時(shí)搜索并沒(méi)有找到它。許多人顯然都問(wèn)同樣的問(wèn)題,但似乎所有人都忽略了多個(gè)捕獲組方面。我對(duì)如何執(zhí)行此操作的其他建議持開(kāi)放態(tài)度,盡管我的用例可能會(huì)變得更加復(fù)雜,涉及額外的捕獲組和操作,所以我認(rèn)為這是最好的方法。我知道,matchAll但我也看不出它如何解決我的問(wèn)題。我想要對(duì)索引、匹配項(xiàng)和整個(gè) shebang 的低級(jí)別訪問(wèn)。
查看完整描述

1 回答

?
慕絲7291255

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

是否有某些原因您不能使用或不想使用String.prototype.replace?這正是它的意圖:匹配和替換。exec只查找匹配項(xiàng),不替換。

*編輯:既然你說(shuō)你想要低級(jí)訪問(wèn),我正在改變我的例子來(lái)展示如何使用回調(diào)函數(shù),并做一些花哨的東西,比如獲取匹配的索引并將其添加到方括號(hào)中括號(hào)。我還在匹配的單詞之前和之后添加了空白捕獲,以顯示在此方法中如何處理多個(gè)捕獲組。

const text = 'nonsense nonsense relevant nonsense nonsense relevant nonsense nonsense';

const matcher = /(\s+)(relevant)(\s+)/gi;


function cb(match, p1, p2, p3, i, fullTxt) {

  return p1 + '(' + p2 + ')['+i+']' + p3;

}

let desiredResult = text.replace(matcher, cb);

console.log(desiredResult);


查看完整回答
反對(duì) 回復(fù) 2022-10-27
  • 1 回答
  • 0 關(guān)注
  • 99 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(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)