perl 替换一例

$line =~ s/^\s+//;  #去掉$line中起始部分的空格$line =~ s/\s+$//;  #去掉$line中结束部分的空格

=~ 是perl的正则表达式操作符这里采用的是替换语意:

s/被替换的内容/替换成为/其它开关选项;

注意用‘/‘隔开个个部分.

\s表示任意空白字符,包括空格制表符(Tab)等等+表示匹配一个或多个^用在起始位置表明从起始位置开始匹配$用在结束位置表明匹配结束位置

================================================

附送一例:如何匹配verilog代码中注释(/*   */中内容)

$file =~ s/\/\*.*?\*\///sg下面开始来解释上面式子的内容:=~
=~ 念做 “does match" ,是匹配的意思;  表示左边的字符串是否匹配右边的正则表达式。

s/被替换的内容A/替换成为B/其它开关选项C; =》对应上面式子中的红色背景部分,其中A在这里就是/*任意字符*/,B在这里就是空白符,C在这里为sg,意思如下:
/s是作为模式匹配的选项,代表将要匹配的字串作为单行进行匹配。即如果$caseid这个字串中包含了换行符/回车之类的字符,仍将被按照单行来进行模式匹配。这个选项与/m的作用正好相反。/g的意思是匹配所有模式。如果被匹配的字串中有多个匹配项,则匹配的结果会输出所有匹配项。如果不加这个选项,则只输出第一个匹配项
关于/*与*/之间匹配到的任意字符:第一个/*用到了转义符\,对应于式子中的蓝色部分\/\*
中间的任意字符用.*?来实现

后面的*/用\*\/来实现
				
时间: 2024-08-26 18:37:42

perl 替换一例的相关文章

Perl报表练习-例1

五一闲暇,看完了一本Perl实例精解(第4版)的电子书,这是第19章最后的一个例题.拿来练练手,以犒赏自己所学知识的过程. 下面的源文件是用来被格式化的文件: $ cat xxx  Exotic Liquids:Charlotte Cooper:(171) 555-2222 New Orleans Cajun Delights:Shelley Burke:(100) 555-4822 Grandma Kelly's Homestead:Regina Murphy:(313) 555-5735 T

perl 递归两例

Perl 作为一门文本处理语言,自然会有他的递归写法,小弟这边分享两个例子,希望对大家能有用! 阶乘(最经典的递归) #!/usr/bin/perl -s  my $Result = 1; sub GetResult{         my $num = shift;         if( $num != 1 ){                 $Result = $Result * $num;                 print "Result:$Result | num:$num

Perl入门(四)Perl的正則表達式

正則表達式是Perl语言的特色.主要的语法不是非常难,可是编写一个符合需求.高效的正則表達式.还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正則表達式内容/; 作用:查找匹配内容中是否包括"正則表達式内容",假设包括返回1,否则返回0: #!user/bin/env perl -w #1... $str1 = "i like perl"; $result1 = ($str1 =~ m/perl/); print "$result1 $st

Perl的调试方法

来源: http://my.oschina.net/alphajay/blog/52172 http://www.cnblogs.com/baiyanhuang/archive/2009/11/09/1730726.html 1. Perl自带的调试器(功能最全,就是最烦) Perl调试器的用法: 缺省的Perl调试器就是perl解释器本身,另外还有图形界面的调试器.因为我们在开发 程序时一般都使用telnet访问服务器,所以这里主要介绍一下缺省的命令行调试器的用法.用 -d 命令行选项启动Pe

Perl入门(四)Perl的正则表达式

正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否包含"正则表达式内容",如果包含返回1,否则返回0: #!user/bin/env perl -w #1... $str1 = "i like perl"; $result1 = ($str1 =~ m/perl/); print "$result1 $str

批处理BAT替换与截取字符串的用法t1=%a:~3%是什么意思

在bat编写中,我们经常越到t1=%a:~3%之类的代码,这里简单介绍下用法,需要的朋友可以参考下: 一.替换用法  例  @echo off set a=belcome to CMD borld! set temp=%a:b=w% echo %temp% pause 将显示 welcome to CMD world! 即用w替换了变量a中的b. 二.截取用法  字符串最前面的光标所在处表示第0位,第一个字符后面的光标所在表示第一位,依次类推. 为了更好的理解截取用法,下面给出了字符串super

Apache URL重写规则

1.简介 Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块.它的功能非常强大,可以操作URL中的所有部分. 因此我们就可以改写url,给用户提供一个简介大方的url,当用户访问时可以通过mod_rewrite模块功能转换为真正的资源路径.通过mod_rewrite能实现的功能还有很多,例如隐藏真实地址.实现URL跳转.域名跳转.防盗链.限制访问资源类型等等. 2.工作流程 mod_rewrite模块在运行时会使用两个Hook程序. 第一个是从URL到文件名

C预处理器

C预处理器是一种简单的宏处理器. 预处理器是由特殊的预处理器命令行控制的,它们是以#符号开头的源文件行. 预处理器的一般操作:从源文件中删除所有的预处理器命令行,并在源文件中执行这些预处理器命令所指定的转换操作 预处理器代码行的语法与C语言其他部分的语法是完全独立的,但经过预处理所产生的源代码必须在上下文环境中合法 常见的预处理器命令: #define  定义一个预处理器宏   #undef     取消一个预处理器宏 #include   插入另一个源文件的文本 #if        测试一个

Python正则表达式Regular Expression基本用法

资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表达式re模块的基本函数. (1)findall函数的用法 findall(rule,target[,flag])是在目标字符串中找到符合规则的字符串.参数说明:rule表示规则,target表示目标字符串,[,flag]表示的是规则选项.返回的结果是一个列表.若没找到符合的,是一个空列表. 如: 因