我试图在perl中找到一些非常具体的文件名模式匹配。
我有一系列名为:
的文件AAA.test.xml and AAA.xml.
我将完整文件路径传递给函数。
我想比较文件名,如果文件名是AAA.xml,我想把它复制到另一个目录。
这是我的问题:有没有办法比较文件名并检查名称中是否包含2个点?
编辑: 使用REGEX也很好,我只是不知道如何在perl
中做到这一点答案 0 :(得分:1)
如果你有文件名(听起来像你这样做),你可以使用一个简单的正则表达式来检查两个文字句点。例如:
if ($name =~ /\..*\./) { do stuff }
重要的是要注意字符“。”在regex中很特别。字符序列“。”意思是文字“。”;字符序列“。”,没有反斜杠,表示任何字符。此外,“*”表示前一个事物需要匹配零次或多次。
所以,上面给出的正则表达式意味着“找到一个文字”。字符,然后任意数量的任何东西,然后另一个字面'。'“。