Мне нужно изменить ниже Regex , чтобы проверять домены электронной почты в базе данных oracle, в соответствии с RF C 5322, и гарантировать, что нижеприведенные критерии также соблюдаются.
Правила домена, которые необходимо соблюдать:
- должен начинаться с буквы или ди git и иметь длину от 1 до 63 символов.
- может содержать как прописные, так и строчные буквы Латинские буквы (от A до Z и от a до z).
- может содержать цифры от 0 до 9, при условии, что доменные имена верхнего уровня не все-числительные c.
- может содержать дефис -, при условии, что это не первый или последний символ, а также не последовательный.
- должен содержать не менее 2 или более символов (abc@t.com недопустимо, но abc@tt.com допустимо).
Я нашел в inte rnet приведенное ниже регулярное выражение, которое очень хорошо работает и обеспечивает соблюдение правил, опубликованных выше, в Javascript. Моя проблема в том, что ORACLE не поддерживает просмотр вперед / назад.
@(?:(?=[A-Z0-9-]{1,63}\.)[A-Z0-9]+(?:-[A-Z0-9]+)*\.){1,8}[A-Z]{2,63}$
Итак, кто-нибудь может помочь мне с внесением необходимых изменений для работы в Oracle sql?