Если я правильно понимаю ваши требования, это регулярное выражение сделает это:
/^(?!.*(\d)\1{8})\d{8,}$/
Вот закомментированная версия (в синтаксисе C #):
Regex regexObj = new Regex(@"
# Match digits sequence with no same digit 9 times in a row.
^ # Anchor to start of string
(?!.*(\d)\1{8}) # Assert no digit repeats 9 times.
\d{8,} # Match eight or more digits.
$ # Anchor to end of string",
RegexOptions.IgnorePatternWhitespace);