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 trial

Python Regular Expressions in Python Introduction to Regular Expressions Email Groups

Adam Sommer
Adam Sommer
62,470 Points

Question 1 stops working when answering question 2. My regex works in a shell.

In Python shell this works for a dict with email, phone and twitters keys:

contacts = re.search(r''' (?P<email>[-\w\d+.]+@[-\w\d.]+),\s
(?P<phone>\d{3}-\d{3}-\d{4}),\s (?P<twitters>[@\w\d]+)$ ''', string, re.X|re.M)

Not sure why step 1 stops working?

emails.py
import re

string = '''Love, Kenneth, kenneth+challenge@teamtreehouse.com, 555-555-5555, @kennethlove
Chalkley, Andrew, andrew@teamtreehouse.co.uk, 555-555-5556, @chalkers
McFarland, Dave, dave.mcfarland@teamtreehouse.com, 555-555-5557, @davemcfarland
Kesten, Joy, joy@teamtreehouse.com, 555-555-5558, @joykesten'''

contacts = re.search(r'''
(?P<email>[-\w\d+.]+@[-\w\d.]+),\s  
(?P<phone>\d{3}-\d{3}-\d{4}),\s 
(?P<twitters>[@\w\d]+)$
''', string, re.X|re.M)

2 Answers

Adam Sommer
Adam Sommer
62,470 Points

Woops, read the question better and realized that it wanted another variable and not another name in the current rexeg match thing. Please disregard and carry on :-).

So how did you answer the question? My code for the twitters was

twitters = re.search(r'[^\w]@[\w]+',string,re.M)

and I don't know how to get rid of that space in front of the twitter handle

Adam Sommer
Adam Sommer
62,470 Points

I used the Twitter regex from the video, I think this is it [@\w\d]+, but you should review the video and double check.