鍍金池/ 問(wèn)答/Java  HTML/ 正則表達(dá)式如何找出特定條件的值?

正則表達(dá)式如何找出特定條件的值?

問(wèn)題描述:
如何使用正則表達(dá)式找出括號(hào)內(nèi)以冒號(hào)開(kāi)頭的值(包含冒號(hào),值不限于數(shù)字)?

例子:匹配(:123)

  匹配(匹配(:123))
  匹配(匹配(匹配(:123)))

始終要保留上一級(jí)的括號(hào),如括號(hào)內(nèi)部沒(méi)有包含冒號(hào)則不替換內(nèi)容。謝謝!

回答
編輯回答
紓惘

"/\(:.+?\)/g"
獲取括號(hào)內(nèi)的值的話,使用捕獲即可"/\((:.+?\))/g",$1對(duì)應(yīng)的即為結(jié)果

2018年2月24日 12:11
編輯回答
陌璃

':(:12345),:(:1),:(12345),:(:),:(),'.match(/\(:\d+\)/g).map(v=>v.slice(1,-1))
選中符合要求的。然后刪掉不要的括號(hào)。開(kāi)始用分組來(lái)著。但是不好使。
clipboard.png


看了別人的答案,再仔細(xì)一看,嗯,還有不限數(shù)字,那就改改匹配項(xiàng)咯。
':(:12345):(:abc),:(:abc:sv),:(:abc):asd),:(:1),:(12345),:(:),:(),'.match(/\(:[a-z0-9]+\)/gi).map(v=>v.slice(1,-1))

/\(:[a-z0-9]+\)/gi [a-z0-9]就是你要匹配的東西咯

clipboard.png

2018年7月6日 13:40
編輯回答
薄荷糖

正則表達(dá)式如何找出特定條件的值?

2018年7月26日 09:13
編輯回答
有你在
let text = '(:12345)'
text.replace(/.*?\((:.+)\).*/, '$1')
2018年6月30日 16:02
編輯回答
舊時(shí)光
var str='lsdk(:)sjdflkf(:sdkfjl)可是打數(shù)據(jù)庫(kù)電費(fèi)了(:快點(diǎn)放假了lskdf)sldkf:(jsklf)';
var regex=/\((:.*?)\)/g;
var result=[];
var matchStr=null;
while((matchStr=regex.exec(str))!=null){
    result.push(matchStr[1]);
}
2017年6月23日 01:21