有没有高手知道正则表达式里面“[^\[]?”什么情况下会匹配一次?

sql.SqlClause="alter table [Account] add [FromSiteID] nvarchar(40)";
sql.SqlClause = new Regex(@"\s+[^[]?nvarchar", options).Replace(sql.SqlClause, " varchar");

我实在想不到“[^[]?”存在的作用,还望高手赐教!

[^[]?分成两部分
1[^[]
2?

1.[^[],是一个字符组,它最多只能匹配到一个字符,这个字符组匹配的是,除了[的任意一个字符
2.?是量词,表示0次或一次,默认是贪婪匹配

[^[]?
表示对除了[的一个字符可有(一次)可无(0次)的匹配