看下面例子:
var re = /^([^]*?)aaa([^]*)$/ re.exec('aaa') // [ 'aaa', '', '', index: 0, input: 'aaa', groups: undefined ] re.exec('b bbaaaa b') // [ 'aaaa', 'b bb', 'a ', index: 0, input: 'aaaa', groups: undefined ]
由此可以看出[^]就是相當於通配符`.`,([^]*)表示匹配任意長度的字符,並且為獲取匹配。