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

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

正則如何匹配多個分組?

正則如何匹配多個分組?

慕桂英546537 2019-02-11 16:15:09
代碼如下,需要匹配 '+兩位數(shù)字' 并捕獲 其中兩個數(shù)字,或匹配 '+{三位數(shù)字}' 并捕獲其中三位數(shù)字;var a='+12+{123}+{123}+12+12+{123}'a.replace(/\+([\d]{2})|\+{([\d]{3})}/gi,(x,y,z)=>{console.log(x);console.log(y);console.log(z);})如果這樣用'|'分割表達式的話,即使匹配的是'+{三位數(shù)字}',也會傳給 第一個捕獲分組(y)undefined,第二個(z)才是捕獲的三位數(shù)字。因為 多個分組 用'|' 或的話, 是從 表達式開始 按 左括號順序,進行分組編號。請問下 多個分組 '或' 的話,怎么 不從表達式開始 進行分組編號,而是 單獨分組編號?
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

換個思路行么?


var a='+12+{123}+{123}+12+12+{123}'

a.replace(/(\d{2,3})/gi,(x,y,z)=>{

console.log(`x:${x}`);

console.log(`y:${y}`);

console.log(`z:${z}`);

})


查看完整回答
反對 回復(fù) 2019-02-22
?
蕭十郎

TA貢獻1815條經(jīng)驗 獲得超13個贊

你只要多加個判斷是否為undefined就行了,然后取那個不是undefined的

或者可以這么寫【參考】:


var str="+12+{123}+{123}+12+{123}+12+{123}+{123,098}+123+6787+543";

var result=str.match(/\+(\d{2}\b|{\d{3}})/g).map(function(matchStr){

return matchStr.match(/\d+/)[0];

});


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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