Проверка формата адреса IPV6 в Oracle 9i pl sql без использования функции Reg exp

Я пытаюсь проверить правильность ввода формата адреса IPV6 в моем клиентском приложении с использованием PL/SQL в Oracle 9i. Я искал во многих местах, и то, что я могу найти, говорит об использовании REGEXP_LIKE, но это не поддерживается в Oracle 9i:

if ( /* IPv6 expanded */ 
     REGEX_LIKE(v, '\A[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}\z', 'i') 
     /* IPv6 shorthand */
     OR (NOT REGEX_LIKE(v, '\A(.?[a-f0-9](:|\z)){8}', 'i') 
     AND REGEX_LIKE(v, '\A([a-f0-9]{1,4}(:[a-f0-9]{1,4}){0,6})?::([a-f0-9]{1,4}(:[a‌​-f0-9]{1,4}){0,6})?\‌​z', 'i'))
) then

Чтобы достичь этого, я использую регулярное выражение, показанное выше, но получаю сообщение об ошибке "PLS-00201: должен быть объявлен идентификатор" REGEX_LIKE "". Кто-нибудь может подсказать, как реализовать такую ​​же проверку в Oracle 9i-совместимом PL/SQL?

Я пытаюсь сохранить адрес IPV6 в формате xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/yyy где минимальное и максимальное значение xxxx между 0000 и FFFF и yyy от 0 до 128.

0 ответов

Другие вопросы по тегам