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 Name Groups

names.py help getting error "no .groups() attribute. Did you use a match?"

See above

names.py
import re

string = 'Perotto, Pier Giorgio'
names = re.match(r'([\w+]),\s(\w*\s\w*)', string)

1 Answer

Stuart Wright
Stuart Wright
41,118 Points

That error simply means that your regular expression pattern hasn't found a match. The actual solution is simpler than what you have posted. In English, you need to match:

  • one or more \w characters (capture as group 1)
  • comma then a space (don't capture)
  • a group of one or more characters from the group \w\s (capture as group 2)

Let me know if you struggle with the syntax, but hopefully the above helps you to arrive at the solution.