鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ 如何獲取括號中的文本,里面含有括號

如何獲取括號中的文本,里面含有括號

如題

(adafsd(fa7)82_56ds+'fas'+d[123a])
(a123d(8)2_53a)
(adafsd(fa7)8(1)s'+d[123a])

上面是要獲取adafsd(fa7)82_56ds+'fas'+d[123a],怎么寫javascript正則?

并非去除兩頭的括號,可能還有下面的情況

adafsdfasd123(adafsd(fa7)82_56ds+'fas'+d[123a])123dsfk

要得到的內(nèi)容是adafsd(fa7)82_56ds+'fas'+d[123a]

還有可能的情況是

ad(12)afsd(as)d123(adafsd(fa7)82_56ds+'fas'+d[123a])123dsfk

要得到的內(nèi)容是三個(gè)12 as adafsd(fa7)82_56ds+'fas'+d[123a]

回答
編輯回答
毀與悔

可以看一下結(jié)果,返回值第二位就是你要的

var reg = /\(([^]*)\)/;
console.log("(adafsd(fa7)82_56ds+'fas'+d[123a])".match(reg));
console.log("(a123d(8)2_53a)".match(reg));
console.log("(adafsd(fa7)8(1)s'+d[123a])".match(reg));
console.log("adafsdfasd123(adafsd(fa7)82_56ds+'fas'+d[123a])123dsfk".match(reg));
2018年2月11日 23:55
編輯回答
臭榴蓮
// 正則可以參考樓上回答,
var reg = /\(([\d\D]*)\)/g;
// 不過根據(jù)提供的場景,我覺得不一定要用正則。
var str1 = "adafsdfasd123(adafsd(fa7)82_56ds+'fas'+d[123a])123dsfk";
var result1 = str1.slice(str1.indexOf('(') + 1, str1.lastIndexOf(')'));
console.log(result1);
// adafsd(fa7)82_56ds+'fas'+d[123a]
// 類似(dafdaer(yudayu)auidau)匹配只包含一對括號延展到外層括號邊緣?
var str = "ad(12)afsd(as)d123(adafsd(fa7)82_56ds+'fas'+d[123a])123dsfk";
var regex = /[^\(]*\([^\(\)]*\)[^\(\)]*(?=\))/g;
var result = str.match(regex)[0];
console.log(result);
// adafsd(fa7)82_56ds+'fas'+d[123a]
2017年2月10日 08:01