2

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

我有一系列文件称为:

AAA.test.xml and AAA.xml.

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

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

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

编辑:使用 REGEX 也很好,我只是不知道如何在 perl 中做到这一点

4

1 回答 1

2

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

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

重要的是要注意字符“。” 在正则表达式中很特别。字符序列“.” 表示文字“。”;没有反斜杠的字符序列“.”表示任何字符。另外,“*”表示前面的东西需要匹配零次或多次。

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

于 2013-07-26T08:58:43.370 回答