Вы не можете использовать .
, если хотите, чтобы оно не соответствовало [
или ]
.
Не ясно, что именно вы хотите, но буквальный ответ на ваш вопрос
\[[^][]*\]
, который соответствует буквальной открывающей квадратной скобке \[
, класс символов, который соответствует любому символу, который не является ]
или [
, повторяется ноль или более раз, и буквально закрывающей квадратной скобке \]
.
Класс символов [^][]
может выглядеть немного ошеломляющим, пока вы не поймете, что ]
должен предшествовать [
в перечислении символов в классе отрицанных символов.
Некоторые инструменты регулярных выражений также допускают \]
в классе символов, но это не универсально и не переносимо. В некоторых других это означает буквальную обратную косую черту sh и конец класса символов.