Perl点文件名匹配

时间:2013-07-26 08:54:29

标签: regex perl filenames

我试图在perl中找到一些非常具体的文件名模式匹配。

我有一系列名为:

的文件
AAA.test.xml and AAA.xml.

我将完整文件路径传递给函数。

我想比较文件名,如果文件名是AAA.xml,我想把它复制到另一个目录。

这是我的问题:有没有办法比较文件名并检查名称中是否包含2个点?

编辑: 使用REGEX也很好,我只是不知道如何在perl

中做到这一点

1 个答案:

答案 0 :(得分:1)

如果你有文件名(听起来像你这样做),你可以使用一个简单的正则表达式来检查两个文字句点。例如:

if ($name =~ /\..*\./) { do stuff }

重要的是要注意字符“。”在regex中很特别。字符序列“。”意思是文字“。”;字符序列“。”,没有反斜杠,表示任何字符。此外,“*”表示前一个事物需要匹配零次或多次。

所以,上面给出的正则表达式意味着“找到一个文字”。字符,然后任意数量的任何东西,然后另一个字面'。'“。