Кажется, все, что вам нужно изменить, это удалить \b
перед \S*
и заменить \S*
на .+
или .*
(если совпадение может быть пустой строкой).
\s(?!\b(?:\d{1,3}|\d{1,2}[a-zA-Z]|\d{5,})\b)(.+)
См. Демонстрационную версию regex , получите значение группы 1. Примечание. Я превратил первые совпадающие цифры группы в отрицательном поле зрения в группу без захвата, чтобы избежать беспорядка в результирующем списке совпадений.
Демонстрация VB.NET :
Dim r As New Regex("\s(?!\b(?:\d{1,3}|\d{1,2}[a-zA-Z]|\d{5,})\b)(.+)")
Dim s As String
s = "Section 78(1) of the blabla"
For Each m As Match In r.Matches(s)
Console.WriteLine(m.Groups(1).Value)
Next
Результат: of the blabla
.