perl 替换一例

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

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

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

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

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

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

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

$file =~ s/\/\*.*?\*\///sg
下面开始来解释上面式子的内容:
=~

$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的意思是匹配所有模式。如果被匹配的字串中有多个匹配项,则匹配的结果会输出所有匹配项。如果不加这个选项,则只输出第一个匹配项
/g的意思是匹配所有模式。如果被匹配的字串中有多个匹配项,则匹配的结果会输出所有匹配项。如果不加这个选项,则只输出第一个匹配项
关于/*与*/之间匹配到的任意字符:
第一个/*用到了转义符\,对应于式子中的蓝色部分\/\*
第一个/*用到了转义符\,对应于式子中的蓝色部分\/\*

中间的任意字符用.*?来实现

后面的*/用\*\/来实现中间的任意字符用.*?来实现

后面的*/用\*\/来实现
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值