Мне нужна помощь в устранении неполадок с шаблоном регулярного выражения. Чтобы проверить список уникальных адресов электронной почты, разделенных запятыми, у меня есть это регулярное выражение ( демонстрация ):
^
(?!.*(\b(?:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})\b).*\b\1\b)
(?:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})
(?:,(?:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}))*
$
Это регулярное выражение правильно соответствует этим:
test@foo.com,test1@foo.com
test.email@foo.com,test.email1@foo.com
test.email@foo.com,test.email1@foo.com,test.email2@foo.com
Но не работает чтобы соответствовать этим (пока должно):
test.email@foo.com,test1.email@foo.com
test.email@foo.com,test+email@foo.com
test-email@foo.com,test+email@foo.com
test-email@foo.com,test%email@foo.com