in reply to Question on Regular expression

You can do it in a fairly straight forward way using Non capturing groupings combined with {} for Matching repetitions:

#!/usr/bin/perl use strict; use warnings; my $string = 'Gyatso is a bad monk as bad as bad bad as bad bad bad ba +d bad.'; my $n = 5; print ($string =~ /(^Gyatso(?:.+?bad){$n})/);