Perl正则表达式匹配模式

时间:2011-03-10 10:20:09

标签: regex perl

我需要匹配类似

的字符串
$filecontents = test-app-ref-Man_pub_aut_art_1234;

我的正则表达式是这样的,但它不起作用:有人可以帮助我正则表达式我在这里做错了什么。请注意,我正在以字符串形式阅读完整的文件,这是其中一个字符串。

while($filecontents =~ m/(test)(-|_)(.*)(_\d{4,})$/isgm){
    print " String10 : '$1$2$3$4'\n";
}

2 个答案:

答案 0 :(得分:3)

看起来你期望字符串以4位数结尾,但你的字符串实际上以4位数结尾,然后是分号。在$

之前添加分号

答案 1 :(得分:0)

试试这个,在Excel中为我工作

(-|_)?.*_\d{4}

给定字符串的结果:

<强>测试应用程式内-REF-Man_pub_aut_art_1234