A regex to find if a letter occurs exactly $n times.
Is this what you were looking for as a first step?
#!/usr/bin/perl
# http://perlmonks.org/?node_id=1201500
use strict;
use warnings;
my @words = glob '{i,x}' x 6;
print "@words\n";
my $n = 1; # number of times a letter occurs in a word
my @oneletter = grep
/^(?|
(?=.*?(.)(?!.*\1))
(?:
(?:(?!\1).)*
\1
){$n}
(?:(?!\1).)*
|
(?=.*(.))
(?:
(?:(?!\1).)*
\1
){$n}
(?:(?!\1).)*
)$
/x, @words;
print "\n@oneletter\n\n", scalar @oneletter, "\n";
Update: fails for some test cases