Вероятно, более быстрый способ сделать это заключается в следующем:
\[Started(?:[^\]]*?\bContinue\b(*SKIP)(*FAIL)|[^\]]*\])
https://regex101.com/r/ZCmv1Y/1
Расширенный
\[Started
(?:
[^\]]*? \b Continue \b (*SKIP) (*FAIL)
|
[^\]]*
\]
)
Эталонный тест
Regex1: \[Started(?:[^\]]*?\bContinue\b(*SKIP)(*FAIL)|[^\]]*\])
Completed iterations: 50 / 50 ( x 1000 )
Matches found per iteration: 3
Elapsed Time: 0.93 s, 926.22 ms, 926218 µs
Matches per sec: 161,948
Regex2: \[(?![^][]*?\bContinue\b)Started[^][]*\]
Completed iterations: 50 / 50 ( x 1000 )
Matches found per iteration: 3
Elapsed Time: 1.21 s, 1212.55 ms, 1212546 µs
Matches per sec: 123,706