如果文档名称与正则表达式匹配

时间:2016-07-25 16:25:44

标签: regex photoshop-script

我经常处于这样一种情况,即在完成多个打开的photoshop文档的工作后,我想对其中的一些文件进行特定的操作。文档名称总是匹配一个应该很容易与正则表达式匹配的模式。基本上:

 -If the document name is 5 or 6 digits + "F", play action A.
 -If the document name is 5 or 6 digits + "FX", play action B.
 -If the document name is 5 or 6 digits + "B", play action A.
 -If the document name is 5 or 6 digits + "BX", play action B.

我认为getByName仅适用于精确的字符串匹配,因此为了使用正则表达式,我需要一个for循环来查看每个打开的文档,检查正则表达式.match,然后播放正确的操作。但是我无法达到预期的效果。

P.S。目标文件从未保存过,因此没有扩展名,因此正则表达式模式不需要考虑到这一点。

谢谢!

2 个答案:

答案 0 :(得分:0)

我在正则表达式之后把它拿走了吗? 尝试

(\d{5,6}F$|\d{5,6}B$) // for action A
(\d{5,6}FX$|\d{5,6}BX$) // For action B

答案 1 :(得分:0)

似乎JavaScript for JavaScript中的RegExp没有实现\d。所以我成功地使用了[0-9]

var reg1 = new RegExp ('([0-9]{5,6}F$|([0-9]{5,6}B$');
var reg2 = new RegExp ('([0-9]{5,6}FX$|([0-9]{5,6}BX$');

如果匹配,结果将是文件名的两倍作为数组。不匹配将是null