2016-07-25 25 views
0

我经常在完成多个打开的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.目标文档从未保存过,因此没有扩展名,所以正则表达式模式不需要考虑这一点。

谢谢!

回答

0

我把你的正则表达式? 尝试

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

好像在JavaScript RegExp的Photoshop没有实现\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