Весь адрес, начало и концы могут быть дефисами или цифрами?
Одно время совокуплялся с этой темой, и, после очередного RFC, пришёл к выводу, что дальше подобного (минимум один символ, собака, минимум один символ, точка, минимум один символ)
.+@.+\..+
смысла ходить нет.
.+@.+\..+
смысла ходить нет.
Это тоже неправильно, с тех пор как стали раздавать корпорациям домены верхнего уровня. Теперь почта может быть и такой vasys@yandex.
на хабре вообще рекомендуют проверять на наличия собаки и не выёбываться
Вот из официального стандарта:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
(Взято от сюда https://emailregex.com/)
А вообще регулярки не для этого. Даже регулярка выше не идеальна, она будет правильно валидировать в подавляющем большинстве случаев, но не всегда. Имейл адрес - не регулярный язык, следовательно не модет быть вылидирован регулярными выражениями. Регулярные выражения неправильный инструмент для валидирования имейла. Регулярные выражения - это инструмент, который недостаточно сложен для понимания имейл адреса. Имейл адрес не является обычным языком и поэтому не может быть проанализирован с помощью регулярных выражений. Запросы с регулярными выражениями не способны разбивать адрес имейл на его значимые части. столько раз, но меня это не касается. Даже расширенные нерегулярные регулярные выражения, используемые Perl, не справляются с задачей синтаксического анализа адреса имейл. Ты никогда не заставишь меня сломаться. Имейл адрес - это язык с достаточной сложностью, поэтому его нельзя проанализировать с помощью регулярных выражений. Даже Джон Скит не может анализировать имейл адрес с помощью регулярных выражений. Каждый раз, когда вы пытаетесь разобрать адрес имейл с помощью регулярных выражений, нечестивый ребенок плачет кровью девственниц, и индуские хакеры взламывают ваше веб-приложение. Анализ адрес имейл с помощью регулярного выражения вызывает испорченные души в царство живых. Имейл адрес и регулярное выражение идут рука об руку, как любовь, брак и ритуальное детоубийство. не может удержать это слишком поздно. Сила регулярного выражения и имейл адрес вместе в одном концептуальном пространстве разрушит ваш разум, как жидкая замазка. Если вы анализируете имейл адрес с помощью регулярного выражения, вы поддаетесь Им и их кощунственным способам, обрекающим всех нас на бесчеловечный труд для Того, чье Имя не может быть выражено в Основном Многоязычном Плане, - он приходит. Имейл адрес-regexp сжижает нервы разумного, пока вы наблюдаете, как ваша психика увядает от натиска ужаса. Синтаксические анализаторы имейл адреса на основе регулярных выражений - это рак, слишком поздно, слишком поздно, мы не можем спастись, трансформация ребенка гарантирует, что регулярное выражение поглотит всю живую ткань (кроме имейл адреса, который не может, как предсказывалось ранее), дорогой господин Помогите нам, как можно выжить в этой беде, используя регулярное выражение для синтаксического анализа имейл адреса, обрек человечество на вечность ужасных пыток и дыр в безопасности. , но более испорченный) простой взгляд на мир парсеров reg ex для имейл адреса мгновенно перенесет сознание программиста в мир непрекращающегося вопля, он приходит, ядовитая хитрая инфекция регулярных выражений поглотит ваш имейл адрес синтаксический анализатор, приложение и существование на все времена, как Visual Basic, только хуже, он приходит, он приходит, не сражается, он приходит, неуклюжее радиоизлучение, уничтожающее все возможности, HTML-теги lea͠ki̧n͘g fr̶ǫm ̡yo ͟ ur eye͢s̸ ̛l̕ik͏e liq uid pain, песня регулярного анализа опыта уберет голоса смертного человека из sp здесь, я вижу это, видите ли вы, это красиво ложь человека ВСЕ ЕЩЕ НЕ ВСЕ Я ПОТЕРЯЛ пони, он приходит, он приходит, он приходит, или проникает во все МОЕ ЛИЦО МОЕ ЛИЦО Боже, нет НЕТ НЕТ НЕТ О НΘ, останови ан * ̶͑̾̾ ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s a̧͈͖r̽̾̈̽̾̈e n ot rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚ N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ
https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
(Взято от сюда https://emailregex.com/)
А вообще регулярки не для этого. Даже регулярка выше не идеальна, она будет правильно валидировать в подавляющем большинстве случаев, но не всегда. Имейл адрес - не регулярный язык, следовательно не модет быть вылидирован регулярными выражениями. Регулярные выражения неправильный инструмент для валидирования имейла. Регулярные выражения - это инструмент, который недостаточно сложен для понимания имейл адреса. Имейл адрес не является обычным языком и поэтому не может быть проанализирован с помощью регулярных выражений. Запросы с регулярными выражениями не способны разбивать адрес имейл на его значимые части. столько раз, но меня это не касается. Даже расширенные нерегулярные регулярные выражения, используемые Perl, не справляются с задачей синтаксического анализа адреса имейл. Ты никогда не заставишь меня сломаться. Имейл адрес - это язык с достаточной сложностью, поэтому его нельзя проанализировать с помощью регулярных выражений. Даже Джон Скит не может анализировать имейл адрес с помощью регулярных выражений. Каждый раз, когда вы пытаетесь разобрать адрес имейл с помощью регулярных выражений, нечестивый ребенок плачет кровью девственниц, и индуские хакеры взламывают ваше веб-приложение. Анализ адрес имейл с помощью регулярного выражения вызывает испорченные души в царство живых. Имейл адрес и регулярное выражение идут рука об руку, как любовь, брак и ритуальное детоубийство. не может удержать это слишком поздно. Сила регулярного выражения и имейл адрес вместе в одном концептуальном пространстве разрушит ваш разум, как жидкая замазка. Если вы анализируете имейл адрес с помощью регулярного выражения, вы поддаетесь Им и их кощунственным способам, обрекающим всех нас на бесчеловечный труд для Того, чье Имя не может быть выражено в Основном Многоязычном Плане, - он приходит. Имейл адрес-regexp сжижает нервы разумного, пока вы наблюдаете, как ваша психика увядает от натиска ужаса. Синтаксические анализаторы имейл адреса на основе регулярных выражений - это рак, слишком поздно, слишком поздно, мы не можем спастись, трансформация ребенка гарантирует, что регулярное выражение поглотит всю живую ткань (кроме имейл адреса, который не может, как предсказывалось ранее), дорогой господин Помогите нам, как можно выжить в этой беде, используя регулярное выражение для синтаксического анализа имейл адреса, обрек человечество на вечность ужасных пыток и дыр в безопасности. , но более испорченный) простой взгляд на мир парсеров reg ex для имейл адреса мгновенно перенесет сознание программиста в мир непрекращающегося вопля, он приходит, ядовитая хитрая инфекция регулярных выражений поглотит ваш имейл адрес синтаксический анализатор, приложение и существование на все времена, как Visual Basic, только хуже, он приходит, он приходит, не сражается, он приходит, неуклюжее радиоизлучение, уничтожающее все возможности, HTML-теги lea͠ki̧n͘g fr̶ǫm ̡yo ͟ ur eye͢s̸ ̛l̕ik͏e liq uid pain, песня регулярного анализа опыта уберет голоса смертного человека из sp здесь, я вижу это, видите ли вы, это красиво ложь человека ВСЕ ЕЩЕ НЕ ВСЕ Я ПОТЕРЯЛ пони, он приходит, он приходит, он приходит, или проникает во все МОЕ ЛИЦО МОЕ ЛИЦО Боже, нет НЕТ НЕТ НЕТ О НΘ, останови ан * ̶͑̾̾ ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s a̧͈͖r̽̾̈̽̾̈e n ot rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚ N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ
https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
Если бы все mail-хостеры, и официальные, и корпоративные, поддерживали этот стандарт - тогда да, эта регулярка бы подошла. Но после 5-6 летнего совокупления со spamassassin и иже с ним, я пришел к выводу:
1) большинство официальных mail-хостеров клали кучу болтов на стандарт;
2) большинство неофициальных mail-серверов стандарт даже не читали;
3) часть людей, создавших очередной стандарт, предыдущие итерации не читали / клали на них болт / стандартом не считают, т.к. в группу, принявшую предыдущий стандарт, входили их конкуренты;
В результате - на выходе имеем плавающую рекомендательную херню, и выбор метода валидации почтового адреса - личное дело каждого. Большой минус в том, что с почтовыми серверами такой херни - через протокол, а самодеятельность команд почтовых сервисов, направленная на борьбу со спамом, только усугубляют картину.
1) большинство официальных mail-хостеров клали кучу болтов на стандарт;
2) большинство неофициальных mail-серверов стандарт даже не читали;
3) часть людей, создавших очередной стандарт, предыдущие итерации не читали / клали на них болт / стандартом не считают, т.к. в группу, принявшую предыдущий стандарт, входили их конкуренты;
В результате - на выходе имеем плавающую рекомендательную херню, и выбор метода валидации почтового адреса - личное дело каждого. Большой минус в том, что с почтовыми серверами такой херни - через протокол, а самодеятельность команд почтовых сервисов, направленная на борьбу со спамом, только усугубляют картину.
Есть имейл хостеры с адресами не соответствующими RFC 5322? Как все запущено.
Так то да, ты абсолютно прав. Я лишь указал на факт невозможности написать регулярку которая проверяет валидность имейла в абсолютном соответствии со стандартом.
Так то, если творится такая неразбериха, то логичнее как можно более минимизировать ложно отрицательные срабатывания, при умеренном колличестве ложно положительных, что предложенный тобой вариант выше и делает.
Так то да, ты абсолютно прав. Я лишь указал на факт невозможности написать регулярку которая проверяет валидность имейла в абсолютном соответствии со стандартом.
Так то, если творится такая неразбериха, то логичнее как можно более минимизировать ложно отрицательные срабатывания, при умеренном колличестве ложно положительных, что предложенный тобой вариант выше и делает.
штука в том что валидировать их примерно такой же смысл как валидировать имена или пароли
нужно верифицировать
нужно верифицировать
Сейчас стало принято откладывать верификацию на потом (или вообще не проводить).
Считается, что этот шаг "перейдите в емейл и пройдите по ссылке" - плохой пользовательский опыт и потеря пользователя.
Так что к валидации требования повыше стали.
Считается, что этот шаг "перейдите в емейл и пройдите по ссылке" - плохой пользовательский опыт и потеря пользователя.
Так что к валидации требования повыше стали.
ПИ-ЗД-ИШЬ
Не я это придумал, требования от заказчиков идут.
не вижу разницы
Ох йо, чувак ты чего решил все комиты разом запушить.
В мастер.
Рано еще не пятница.
Вам потом лид плоттер в анус запушит.
В мейн нетолерантная хуемразь!
mail+salt@gmail.com
После пайтона взялся за js
монти пайтона?
язык назван именно в честь шоу "Летающий цирк Монти Пайтона"
но-но, попрошу! Летающий цирк Монти Пайтона в двух отличительных версиях
Какое же облегчение пришло, когда разобрался с реджексами с помощью сайтов с проверкой и подсказками
Регулярки охуенны и очень упрощают жизнь всем, кто работает с данными.
Совершенно не обязательно для этого быть программистом, Notepad++ и все системы веб-аналитики тоже поддерживают регулярные выражения.
Совершенно не обязательно для этого быть программистом, Notepad++ и все системы веб-аналитики тоже поддерживают регулярные выражения.
Потому что нормальный, и достаточно сильный механизм.
Проблемы с регулярками обычно начинаются тогда, когда они попадают в руки долбоебов. Но тут не в регулярках дело.
Проблемы с регулярками обычно начинаются тогда, когда они попадают в руки долбоебов. Но тут не в регулярках дело.
Бля, я тупой, дайте мне дальше деградировать со своим переливанием json в энтити и обратно.
Пока лучший сайт для работы с регулярками, который мне попадался:
https://regex101.com/
Применяет регулярку построчно, а не на весь текст, поэтому выражение можно тестировать очень большой выборкой на ходу.
https://regex101.com/
Применяет регулярку построчно, а не на весь текст, поэтому выражение можно тестировать очень большой выборкой на ходу.
А то же никто не может загуглить и нажать на первую ссылку в выдаче))
Если вы хотите решить проблему с помощью регулярного выражения - теперь у вас две проблемы.
Чтобы написать коммент, необходимо залогиниться
эта кстати тоже неправильная