Text Processing and Regex API - Extract Emails
Здравейте колеги,
видях много предложения за regex решения на тази задача , но за съжаление всички до един бяха грешни.
Затова и питам тук тъкмо и трейнърите биха ни помогнали тъй като regex материята е труден - поне за мен а от видяното съдя и за останалите.
Какъв би бил коректния regex.
Условието е следното :
Write a program to extract all email addresses from given text. The text comes at the first input line. Print the emails in the output, each at a separate line. Emails are considered to be in format <user>@<host>, where:
- <user> is a sequence of letters and digits, where '.', '-' and '_' can appear between them. Examples of valid users: "stephan", "mike03", "s.johnson", "st_steward", "softuni-bulgaria", "12345". Examples of invalid users: ''--123", ".....", "nakov_-", "_steve", ".info".
- <host> is a sequence of at least two words, separated by dots '.'. Each word is sequence of letters and can have hyphens '-' between the letters. Examples of hosts: "softuni.bg", "software-university.com", "intoprogramming.info", "mail.softuni.org". Examples of invalid hosts: "helloworld", ".unknown.soft.", "invalid-host-", "invalid-".
- Example of valid emails: info@softuni-bulgaria.org, kiki@hotmail.co.uk, no-reply@github.com, s.peterson@mail.uu.net, info-bg@software-university.software.academy.
Лично аз измъдрих това като решение , но се съмнявам да е вярно:
[a-zA-Z0-9]+[\.\-\_]*[a-zA-Z0-9]+@[a-zA-Z]+[\-]*[a-zA-Z]+.[a-zA-Z]+
очаквам кртитики , предложения, съвети.
Правилно , мерси продължавам с опитите :)
Ето плодът на опитите ми :
[a-zA-Z0-9]+[\.\-\_]*[a-zA-Z0-9]+@([a-zA-Z]+[\-]*[a-zA-Z]+\.)+[a-zA-Z]+
Това май е по-добре :
([a-zA-Z0-9]+[\.\-\_]*[a-zA-Z0-9]+)+@([a-zA-Z]+[\-]*[a-zA-Z]+\.){1,2}[a-zA-Z]+