小编pra*_*ant的帖子

在perl中正则表达式中的OR条件

我正在尝试编写一个脚本,它通过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)

regex perl if-statement

3
推荐指数
1
解决办法
2万
查看次数

如果循环不在perl中工作

请查看此脚本并提供可能的解决方案..

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)

perl if-statement

-4
推荐指数
1
解决办法
430
查看次数

标签 统计

if-statement ×2

perl ×2

regex ×1