Есть ли способ сделать несколько совпадений регулярных выражений в vba без создания экземпляров нескольких экземпляров объекта regexp? Например, я хочу сделать несколько точек сопоставления регулярных выражений между несколькими различными полями данных.
Для наглядности рассмотрим это.
column 1 column 2 column 3
AAATDD Airplane Transportation/Airplane
BBBTDD Bus Transportation/Bus
CCCFDD Chocolate Food/Chocolate
DDDFDD Dog Food/Potato
Итак, как вы можете видеть, первая буква в столбце 1 - это A, что соответствует описанию в столбце 2 для самолета, которое соответствует типу перевозки (обозначается буквой T в столбце 1 «AAATDD») в столбце 3 для самолета. Все хорошо. Но в столбце 1 есть особая запись для собаки, которая указана как еда и картофель.
Прямо сейчас у меня есть (псевдо) код, подобный этому:
for i = 1 to endpoint
set regexp as new regexp
regexp.pattern is myPattern
set colmatches = regexp.execute()
If Column1_Entry(i) = myMatch.value then
pass test
Else
throw exception
End if
next i
но проблема в том, что я могу проверить только регулярное выражение, заданное моим шаблоном. Например, мои следующие несколько строк должны проверить те же значения, просто ища другую вещь.
Когда я буду готов выполнить следующий набор совпадений, чтобы определить достоверность, т. Е. В столбце 3 сопоставление транспорта / «Самолет» с «Самолетом» в столбце 2, мне нужно сбросить регулярное выражение и сбросить myPattern. Есть ли что-нибудь вокруг этого? или способ сохранить регулярные выражения в виде списка или массива? Так их можно перебрать по очереди? Любая помощь будет принята с благодарностью.