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 trialNathan McElwain
4,575 PointsNot sure what I did wrong
The challenge is: "Create a variable names that is an re.match() against string. The pattern should provide two groups, one for a last name match and one for a first name match. The name parts are separated by a comma and a space." I did what I thought would work, but keep getting 'first' and 'last' backwards. I haven't had a problem with regex until this.
import re
string = 'Perotto, Pier Giorgio'
names = re.match(r'([\w]*)([,\w ]*)',string, re.I)
2 Answers
Chris Freeman
Treehouse Moderator 68,454 PointsYou are very close. The comma and space are not part of the names so they should be outside of the group parens. I used \s
for the space:
names = re.match(r'([\w]*),\s([\w ]*)',string, re.I)
Nathan McElwain
4,575 PointsStill works either way, but yea, technically it should probably be a '+' since you NEED to return 1 or more.
Nathan McElwain
4,575 PointsNathan McElwain
4,575 Pointsoh wow, derp! I must've done every single combination of things EXCEPT that! Thank you.
Ahmed Elsawey
Courses Plus Student 3,527 PointsAhmed Elsawey
Courses Plus Student 3,527 PointsWhat does the asterisk mean or refer to?
Chris Freeman
Treehouse Moderator 68,454 PointsChris Freeman
Treehouse Moderator 68,454 PointsActually the asterisk should be a plus sign. The asterisk means zero or more of the character set the + means one or more. I think you need the one or more variety.