Мы используем некоторые структуры имен файлов, как пользователи должны сохранять файлы.
У меня есть огромный список всех наших файлов в Excel, и я должен проверить некоторые имена файлов.
В кратком объяснении имя файла начинается с номера детали. Номер детали содержит «группы», разделенные дефисом.
Основная проблема заключается в том, что пользователи иногда используют пробелы (случайным образом) с дефисами для разделения групп.
Я должен отметить имена файлов в списке выглядят так: -корректно -подобно, но неправильно -не совпадает
Аналог означает, что порядок групп правильный, но разделение групп не только дефис (-), но и объединенный с пробелом (ами): ' - '
или '- '
или ' -'
или '- '
et c ..
Я написал макрос регулярных выражений в VBA. Это хорошо работает, но я придерживался "подобного" шаблона.
Вот упрощенная версия одной структуры в регулярном выражении:
^(\d{4}-\d{2}(?:-\d{3})?-[A-Z]\d{3}-[A-Z])(?: - )(.*)
В этом случае интересная часть - первая группа захвата, номер части. Как видите, в первой группе захвата есть группа без захвата, которая является необязательной. Две группы захвата (номер детали и описание) разделяются с помощью '-'.
Примеры для правильного имени файла:
1111-22-333-A444-B - DESCR.EXT
1111-22-A444-B - DESCR.EXT
Примеры для похожего, но неправильного имени файла:
1111-22 -333-A444-B - DESCR.EXT
1111-22- A444-B - DESCR.EXT
1111 -22-333-A444-B - DESCR.EXT
1111 -22 - A444- B - DESCR.EXT
1111 - 22 - A444 - B - DESCR.EXT
Примеры несоответствующего имени файла:
1111-22-333-A444 - DESCR.EXT
1111-22-B - DESCR.EXT
1111-22-333-A444-BDESCR.EXT
1111-22 - DESCR.EXT
1111-22-33-444-B - DESCR.EXT
1111-22-444-B - DESCR.EXT
Я могу пометить правильные и несоответствующие значения с помощью шаблона выше, но я не знаю, как можно изменить, чтобы проверить, что есть " аналогичный"? Я пытался найти решение здесь и в Google, но не нашел: /
Спасибо