码迷,mamicode.com
首页 > 其他好文 > 详细

2、正则表达式进阶_之一

时间:2015-04-07 13:26:46      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

 

#!/usr/bin/perl

foreach $var(glob("*.wav"))
{
        #$var =~ /.*(00.*).wav/;
        $var =~ /.*(00\d\d).wav/;
        $Newvar = SpkContext_zj_.$1..wav;
        system("mv $var $Newvar");
        print "Now is processing $var \t \n";
}
print "Over \n";
  1. 能使用更准确的正则表达式,就不要使用模糊的正则表达式:
    1. 例如,文件名字如下:SpkContext_0001.wav
    2. 我们要捕获,其中的0001这4个字符串(或者也可以叫做数字),我现在有了两种写法:
      1. $var =~ /.*(00.*).wav/;

         

      2. $var =~ /.*(00\d\d).wav/;

         

    3. 上面两种写法,当然是第二种的写法更加具体,更加准确。
    4. 第一种写法,会出现的问是:
      1. 捕获到的变量$1的值为001,而不是0001
      2. 第二种写法则不会出现这种问题。

2、正则表达式进阶_之一

标签:

原文地址:http://www.cnblogs.com/yu-blog/p/4397838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!