// \btodo\b^(?!\[Auto-generated\]).*
//
// Assert position at a word boundary «\b»
// Match the characters “todo” literally «todo»
// Assert position at a word boundary «\b»
// Assert position at the beginning of the string «^»
// Assert that it is impossible to match the regex below starting at this position (negative lookahead) «(?!\[Auto-generated\])»
// Match the character “[” literally «\[»
// Match the characters “Auto-generated” literally «Auto-generated»
// Match the character “]” literally «\]»
// Match any single character that is not a line break character «.*»
// Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Таким образом, это регулярное выражение, вероятно, никогда не совпадет.Вы сопоставляете слово, а затем сопоставляете начало строки?Как это может случиться?Кроме того, вы игнорируете //, ваша заглавная буква неверна, и вы избегаете скобок внутри вашего негативного взглядаПохоже, это не соответствует вашим данным ...