regex - Perl 点文件名匹配

标签 regex perl filenames

我试图在 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/

相关文章:

Python正则表达式在div之间替换

perl - -l $_ 在 Perl 中有什么作用,它是如何工作的?

php - 带有特殊字符的文件名,如 "é"NOT FOUND

珀尔 : Counting Duplicates

batch-file - Windows CMD 中的创建日期

python - Inverse glob - 从文件名反向工程通配符字符串

regex - 正则表达式匹配特定字符串后跟数字?

javascript - Antd 通过模式验证不会触发错误

javascript - 正则表达式仅匹配错误匹配的数字

perl - 如何检查域名是否可用(批量)?