[^"] 这个正则表达式怎么解读啊 ?

[^"] 这个正则表达式怎么解读啊 ?

var regex = /id="[^"]*"/
var string = '<div id="container" class="main"></div>';
console.log(string.match(regex)[0]);

图片说明

var string = '<div id="container" class="main"></div>';
string.match(/id=".*"/)
//贪婪匹配,匹配到id="container"继续匹配直到class="main",
结果:
id="container" class="main"

string.match(/id="[^"]*"/)
字符组:[^"] 非"打头,去除了class="main",
结果:
id="container"

string.match(/id="(.*?)"/)效果同上

^这个符号在方括号读 非(也可以理解排除。。。。),不在括号内理解为以什么开头,比如说^[0-9],就表示必须以数字开头