我正在尝试编写一个脚本,它通过Perl中的正则表达式执行OR函数.我编写了一个代码,其中如果字符串包含'D'或'E'后跟'P',则应打印"D或E后跟P",否则"D或E后面跟不是P".假设我给$ s ='ABCDEABCDEPABCDEAB'它应该打印else条件,但我认为我的if语句不能正常工作.请帮忙.
my $s = 'ABCDEABCDEPABCDEAB';
if ($s =~ /D|E(?=P)/) {
print "D or E is followed by P";
}
else {
print "D or E is not followed by P";
}
Run Code Online (Sandbox Code Playgroud) 请查看此脚本并提供可能的解决方案..
my $otext = 'ABCDEABCDEABCDEABCDEABCDE';
my $len = length($otext);
print "length of string is:\n".$len;
$n = 1;
if ($n == 1) {
if (substr($otext, -1, 1) eq "E") {
if ($len >= 3) {
if ($len == 3) {
$len1 = 2 * $len - 1;
$len2 = 3 * $len - 2;
}
else {
$len1 = 2*$len-1;
$len2 = 3*$len-3;
}
}
else {
$len1 = 0;
$len2 = 0;
}
print "Length-1 is:". $len1;
print "Length-2 is:" …Run Code Online (Sandbox Code Playgroud)