У меня есть пользовательский ввод, который я хочу проверить на правильность. Пользователь должен ввести 1 или более наборов символов, разделенных запятыми.Excel VBA Regex Check for Repeated Strings
Таким образом, они действительны вход
- COM1
- COM1, COM2,1234
они являются недействительными
- COM - только 3 символов
- COM1, 123 - один набор - всего 3 символа
- COM1.1234, ABCD - точка разделитель не запятая
Я гугл для шаблона регулярного выражения к этому и нашел возможный образец, который проверяется на повторяющийся экземпляр любых 3-х символов, и я модифицирована так, как
/^(.{4,}).*\1$/
, но это не находит соответствия.
Я могу управлять последней запятой, которая может быть или не быть там, прежде чем перейти к тесту, чтобы она всегда была там.
Желательно, чтобы я тестировал буквы (в любом случае) и только цифры, но я могу жить с любыми символами.
Я знаю, что я мог бы легко сделать это в прямом VBA, разбивая вход на разделитель запятой и перебирая каждый символ каждого элемента массива, но регулярное выражение кажется более эффективным, и у меня будет больше случаев, чем несколько разных шаблонов, поэтому параметрирование регулярного выражения для этого было бы лучше.
ТИА
Nice Doug. Ссылка на предварительно заполненный ответ тоже очень полезна. – brettdj
Спасибо, Брет. Да, это полезный сайт. Между этим и notepad ++ я обычно могу заставить регулярное выражение работать. –