Perl Language(IV)Regular and Control

本文深入探讨Perl语言中的正则表达式应用,包括匹配、比较及替换等操作,并通过实例展示如何使用Perl进行字符串处理。同时介绍了流程控制语句如last、redo和next的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Perl Language(IV)Regular and Control

7. Regular statement(regex)
$string =~ m/$patten/
$string =~ m{$patten}
$string =~ m|$patten|
$string =~ m!$patten!
$string =~ /$patten/

my $answer = "monger";
until ((my $patten = <STDIN>) =~ /$answer/) {
print "wrong\n";
};

my $answer = "mo*r";
while (1) {
if ((my $patten = <STDIN>) =~ /$answer/) {
print "*match*\n";
} else {
print "*not match*\n";
}
};

my $answer = "mo{2,4}r";

my $answer = "(wow)+";

8. More Regex
/f(oo|ee)t/ # foot or feet
/on (March|April|May)/

$content =~ /[pP]erl/;

$content =~ /perl/i; # charactor 'i' is for ignore the Capital letter

my $content = "I like perl I am a perl monger";
if ($content =~/I like(.*)monger/) {
print "*$1*\n";
}

We can get all the charactors between 'like' and 'monger'

8.7. Compare and Replace
my $content = "I love Java";
print $content if ($content =~ s/java/perl/i);

console output:
I love perl

s is for replacing. i is for ignoring the Capital charactors.

my $content = "I love Perl. I am a perl monger";
print $content if ($content =~ s/perl/Perl/gi);

console output:
I love Perl. I am a Perl monger

g is for all.

8.8. Replacing in our own string
my $string = "123456";
print $string if ($string =~ s/(1)(2)(3)(4)(.*)/$3$2$1$4$5/);

console output:
321456

9. Flow Control
9.1.1 last
break the loop.

for (1...10) {
last if ($_ == 8);
print $_;
}

console output:
1234567

9.1.2 redo
redo the things in loop
for (1...10) {
$_++;
redo if ($_ == 8);
print $_ . " ";
}

console output:
2 3 4 5 6 7 9 9 10 11

9.1.3 next
omit the current loop
for (1...10) {
next if ($_%2);
print $_ . " ";
}

console output:
2 4 6 8 10


references:
http://easun.org/perl/perl-toc/
http://perl.apache.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值