Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialRungano Matonda
3,237 PointsCreate a function named find_emails that takes a string.return a list of all the email adress in the string
Hi guys...need help here...I am getting "bummer! multiple repeat"
import re
# Example:
# >>> find_email("kenneth.love@teamtreehouse.com, @support, ryan@teamtreehouse.com, test+case@example.co.uk")
# ['kenneth@teamtreehouse.com', 'ryan@teamtreehouse.com', 'test@example.co.uk']
def find_emails(str):
return re.findall(r'\b[@]+{1}\b', str)
1 Answer
Chris Freeman
Treehouse Moderator 68,441 PointsHi Rungano Matonda, the regular expression needs to match a complete email address. Your current regex r'\b[@]+{1}\b'
says:
word-boundary start-set @-char end-set one-or-more-sets exactly-once word-boundary
What you need is:
word-boundary start-set legal-pre-@-chars end-set one-or-more sets AT-sign start-set legal-post-@-chars end-set one-or-more sets word-boundary
where legal-pre-@-chars
is any-word-char, period, and plus-sign, and legal-post-@-chars
is any-word-char, and period
This can be represented by the regex r'\b[\w.+]+@[\w.]+\b'
def find_emails(str):
return re.findall(r'\b[\w.+]+@[\w.]+\b', str)
Rungano Matonda
3,237 PointsRungano Matonda
3,237 PointsThanks a lot Chris...That really helped me out:)