2016-07-25 6 views
0

Я часто бываю в ситуации, когда после завершения работы над несколькими открытыми документами для фотошоп я хочу сыграть определенное действие на нескольких из них. Названия документов ALWAYS соответствуют шаблону, который должен быть довольно легко соответствовать регулярному выражению. По существу:Если имя документа совпадает с регулярным выражением

-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 работает только с точными строкой матчами, поэтому для того, чтобы использовать регулярное выражение мне потребуется для цикла смотреть через каждый открытый документ, проверить наличие регулярных выражений .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

Похоже RegExp в JavaScript для фотошоп не реализовал \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.

 Смежные вопросы

  • Нет связанных вопросов^_^