есть задача:
1) имеется список имен файлов, все имена в определенном формате,
данный формат задается пользователем, например, "%l4 - %l1 - %l2.mp3", где, например, %l1 исполнитель, %l2 - композиция, %l4 - трек
2) имеется набор файлов, все имена этих файлов также в определенном формате, заданном пользователем, например, "track %f4 %f#.mp3", где, например, %f1 исполнитель, %f2 - композиция, %f4 - трек, %f# - любые символы
3) задано, например, что файл в списке соответствует реальному файлу, если %l4=%f4 (это условие может меняться пользователем)
необходимо смэтить реальные файлы с файлами в списке и показать "реальное имя -> имя в списке" для каждого файла
для выполнения задачи необходимо использование регулярных выражений, для поиска соответствий необходимо заменить все выражения типа %l или %f на (.*), но чтобы потом получить и использовать значения (порядок которых может быть произвольным), надо как-то запоминать в какой позиции (.*) оказалось.
потому вопрос: возможно ли значениям в скобках, типа (.*), присваивать имена и потом к ним обращаться по именам, а не по номеру в массиве?
|