Perl中的正则表达式

来源:互联网 发布:网络热点事件2017 编辑:程序博客网 时间:2024/04/30 10:15

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

0 0
原创粉丝点击