Hallo,
gibt es eine Möglichkeit über reguläre Ausdrücke Strings zu finden, die genau
n aufeinanderfolgende Zeichen "z" enthalten?
Wenn es sich um feste Werte n und z handeln würde, würde ich es mit meinen bescheidenen Kenntnissen schaffen, aber so?
Die Werte n und z stehen jeweils in Perl-Variablen $n bzw $z.
Falls obiges möglich, ist dann die Ersetzung durch e i n in $e stehendes Zeichen möglich.
Ein kleines Demo Skript
#!C:/Programme/Perl/bin/perl.exe -w
#
use strict;
BEGIN {
use CGI::Carp qw(carpout);
open(LOG, ">>error.txt") or die "Unable to append to error.txt: $!\n";
carpout(*LOG);
}
my $times = 5;
my $pat = qr/(?<!X)X{$times}(?=[^X])/;
"---XXXXX---" =~ $pat and print "success\n";
"---X-XXXXX---" =~ $pat and print "success\n";
"---XXXXX-X--" =~ $pat and print "success\n";
"---XXXXXXX---" =~ $pat and print "Shit Happens\n";
sleep(10);
exit;
__END__
mfg Beat