Почему этот шаблон регулярного выражения для электронной почты так популярен, если он даже не принимает во внимание строчные буквы?

Действительно, использование других инструментов, таких как cut, является лучшим способом, но я также хочу добавить решение sed:

sed -r 's/^[^:]+: ?([^:]+):.*/\1/' 20180213.tmp

Ищет от начала строки до второго двоеточия только символы, которые не являются ' :', но сохраняет только то, что находится между первым и вторым двоеточием. Я заметил, что перед именами файлов есть пробел, поэтому я его удалил.

3
15.09.2020, 11:29
2 ответа

Его нельзя использовать в производстве. Например, "email me"@contoso.comявляется синтаксически допустимым адресом электронной почты, но не будет сопоставляться с этим наивным RE.

Окончательную грамматику см. в RFC5322, раздел 3.4.1 .

Возможно, досадно, что нет BRE или ERE, которые могли бы соответствовать этому грамматическому определению, но вы можете подобраться очень близко. Тем не менее, PCRE сделает свое дело. См. Как проверить адрес электронной почты с помощью регулярного выражения? на StackOverflow.

13
18.03.2021, 23:04

I have seen the below pattern is used in several places (even on sof)... Why is it so popular?

Потому что люди копируют -вставку первого результата поиска Google в свои ответы, блоги и код, которые, в свою очередь, подхватываются поисковыми системами, что приводит к тому, что еще больше людей копируют -вставку, создавая адский vortex, который заканчивает удалением из Интернета любого лучшего контента.

unless I am missing something

По ссылке из вашего вопроса есть длинное бессвязное отступление , которое должно "ответить" на все ваши вопросы.

14
18.03.2021, 23:04

Теги

Похожие вопросы