如何匹配正则表达式中的可选字符?
我正在尝试编写一个小文件,对我们的 NAS 进行一些整理。
该脚本遍历指定根文件夹内的文件夹。
对于我的测试,根是 C:\Users\Solignis\Desktop\Orders
这是我进行第一次匹配的地方,它会检查文件以确保文件符合我们的标准名称约定,即城市 + 3 位文件夹 + 3 位文件编号。
有时虽然我们有额外的文件,这些文件带有 _1 or _2
在它们上表示额外的页面。
我怎样才能使这个正则表达式也适合“可选”_1 or _2 and sometimes _3
参加比赛?
编码:
$file =~ /^ ((C[A|F|L]|ME)) (\d{3}) (\d{3}) \. (PDF) /xmi
我确信这很简单,我仍然需要“钻取”到我制作的这个巨大的数组散列中,这在某些数组中类似于 25k 文件,因此我仍然在大脑上循环。
任何帮助将非常感激。
谢谢
最佳答案
类似 (_[1-3])?
?
匹配零个或一个实例。
可能是你正在寻找的。
关于regex - 可选的正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972526/