Вам потрібен регулярний вираз /(.)\1{9,}/.
Тест:
#!perl
use warnings;
use strict;
my $regex = qr/(.)\1{9,}/;
print "NO" if "abcdefghijklmno" =~ $regex;
print "YES" if "------------------------" =~ $regex;
print "YES" if "========================" =~ $regex;
Тут \1називається зворотною референцією. Він посилається на те, що захоплюється крапкою .між дужками, (.)а потім {9,}запитує дев'ять і більше того ж символу. Таким чином, це відповідає десяти і більше будь-яких окремих символів.
Хоча вищевказаний тестовий скрипт є в Perl, це дуже стандартний синтаксис регулярних виразів і повинен працювати будь-якою мовою. У деяких варіантах вам може знадобитися використовувати більше зворотних нахилів, наприклад, Emacs змусить вас писати \(.\)\1\{9,\}тут.
Якщо цілий рядок повинен складатися з 9 і більше однакових символів, додайте якорі навколо шаблону:
my $regex = qr/^(.)\1{9,}$/;