İhtiyacınız olan normal ifade /(.)\1{9,}/
.
Ölçek:
#!perl
use warnings;
use strict;
my $regex = qr/(.)\1{9,}/;
print "NO" if "abcdefghijklmno" =~ $regex;
print "YES" if "------------------------" =~ $regex;
print "YES" if "========================" =~ $regex;
Burada geri \1
referans denir. .
Köşeli parantezler arasındaki noktanın yakaladığı şeyi referans alır (.)
ve ardından {9,}
aynı karakterden dokuz veya daha fazlasını ister. Böylece bu, herhangi bir tek karakterden on veya daha fazlasıyla eşleşir.
Yukarıdaki test komut dosyası Perl'de olmasına rağmen, bu çok standart düzenli ifade sözdizimidir ve herhangi bir dilde çalışmalıdır. Bazı varyantlarda daha fazla ters eğik çizgi kullanmanız gerekebilir, örneğin Emacs \(.\)\1\{9,\}
buraya yazmanızı sağlar .
Bir dizenin tamamı 9 veya daha fazla aynı karakterden oluşuyorsa, desenin etrafına çapalar ekleyin:
my $regex = qr/^(.)\1{9,}$/;