在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ 如何在正則表達(dá)式的匹配結(jié)果中限制最小匹配長(zhǎng)度?

如何在正則表達(dá)式的匹配結(jié)果中限制最小匹配長(zhǎng)度?

文本內(nèi)容如下
aaa (bbb) (ccc(dd)cc)
需要的是()及其之中的內(nèi)容,但之中的內(nèi)容至少有3個(gè)字符, 即結(jié)果需要是

1, (bbb)
2, (ccc(dd)cc)

目前我的規(guī)則是"(.+?)"
但這樣的結(jié)果只能把(bbb)正確取出, 其余的部分就只能取到(ccc(dd)就結(jié)束了, 各位有什么建議嗎? 謝謝

FYI, 最后的)不一定在句末, 有可能后面還有字符

回答
編輯回答
無(wú)標(biāo)題

{最小長(zhǎng)度,最大長(zhǎng)度}
例如
a{3} = aaa
a{3,} = 3 個(gè) a 以上都算
a{3,5} = 3~5 個(gè) a 都算

2017年6月21日 17:41
編輯回答
陌顏

加上“?”是非貪婪模式,去掉問(wèn)號(hào)變成貪婪模式即可。

2017年8月1日 23:54
編輯回答
眼雜

可以試試我這個(gè)

/\(.{3,}\)(?![^\)])*/

== test ==

const strArr = [
    '(aa)',
    '(bbb)',
    '(ccc(bb)cc)abc',
    '(ccc(bb)cc)',
];
const reg = /\(.{3,}\)(?![^\)])*/;
console.log(strArr.map(str => str.match(reg)));
// print => 
// [ null,
// [ '(bbb)', index: 0, input: '(bbb)' ],
// [ '(ccc(bb)cc)', index: 0, input: '(ccc(bb)cc)abc' ],
// [ '(ccc(bb)cc)', index: 0, input: '(ccc(bb)cc)' ] ]
2017年1月19日 01:25