我试图在 perl 中找到一些非常具体的文件名模式匹配。
我有一系列名为:
AAA.test.xml and AAA.xml.
我将完整的文件路径传递给函数。
我想比较文件名,如果文件名是 AAA.xml,我想将其复制到另一个目录。
这是我的问题:有没有办法可以比较文件名并检查名称中是否包含 2 个点?
编辑: 使用 REGEX 也很好,我只是不知道如何在 perl 中做到这一点
最佳答案
如果您有文件名(听起来像您有),您只需使用一个简单的正则表达式来检查两个文字句点。例如:
if ($name =~ /\..*\./) { do stuff }
需要注意的是字符“.”。在正则表达式中很特殊。字符序列“.”表示字面意思“.”;不带反斜杠的字符序列“.”表示任何字符。另外,“*”表示前面的内容需要匹配零次或多次。
因此,上面给出的正则表达式的意思是“查找文字‘.’”字符,然后是任意数量的任何内容,然后是另一个文字“.””。
关于regex - Perl 点文件名匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17877029/