2016-07-25 27 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