Может быть сложно сопоставить то, чего нет, потому что все , которое не соответствует шаблону, соответствует отрицанию этого шаблона.
Вы ищете для последовательностей цифр, сопровождаемых сериями пробелов, и эта последовательность сама повторяет
(\d+\s+)+
Вы хотите, чтобы за вышеприведенным следовало что-нибудь .*
, что не начинается с ди git, пробел или символ двойной кавычки [^\d\s"]
.
([^\d\s"])
Соберите все вместе
(\d+\s+)+([^\d\s"].*)
Вы также можете сделать группы без захвата. Это не имеет никакого логического эффекта, но более эффективно использует память, поскольку не сохраняет разрешенные группы при поиске потенциального дерева разбора. Это может быть важно для больших документов, особенно когда обратная ссылка вызывает глубокую рекурсию.
(?:\d+\s+)+(?:[^\d\s"].*)