Perl中的正则表达式

本文介绍了Perl语言中正则表达式的三种核心用法:匹配、替换与转换,并通过实例展示了如何利用这些功能进行字符串处理。

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

1.Perl中的正则表达式

       正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。Perl语言的正则表达式功能非常强大,基本上是常用语言中最强大的,很多语言设计正则式支持的时候都参考Perl的正则表达式。

  Perl的正则表达式的三种形式,分别是匹配,替换和转化:

(1)匹配:m//(还可以简写为//,略去m)
(2)替换:s///
(3)转化:tr///

这三种形式一般都和=~或!~搭配使用, =~表示相匹配,!~表示不匹配。

 

2.匹配

匹配操作符m//用于匹配一个字符串语句或者一个正则表达式,例如,要匹配标量$bar中的"run",代码如下所示

#!/usr/bin/perl
 
$bar = "I amrunoob site. welcome to runoob site.";
if ($bar =~ /run/){
   print "第一次匹配\n";
}else{
   print "第一次不匹配\n";
}
 
$bar ="run";
if ($bar =~ /run/){
   print "第二次匹配\n";
}else{
   print "第二次不匹配\n";
}

3.替换

替换操作符 s/// 是匹配操作符的扩展,使用新的字符串替换指定的字符串。基本格式如下:

s/PATTERN/REPLACEMENT/;

PATTERN为匹配模式,REPLACEMENT 为替换的字符串。

#!/usr/bin/perl
 
$string = "welcome to google site.";
$string =~ s/google/runoob/;
 
print "$string\n";

4.转化

以下实例将变量 $string 中的所有小写字母转化为大写字母:

#!/usr/bin/perl
 
$string = 'welcome torunoob site.';
$string =~ tr/a-z/A-z/;
 
print "$string\n";

再比如:

$string =~ tr/\d//c;     # 把所有非数字字符替换为空格
$string =~ tr/\t //d;    # 删除tab和空格
$string =~ tr/0-9//cs    # 把数字间的其它字符替换为一个空格

 

学习资料参考于:

http://www.runoob.com/perl/perl-regular-expressions.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值