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 Counts

Sahar Nasiri
Sahar Nasiri
7,454 Points

I do not get the 555-555

I still do not get the 555-555 with the "-" in the middle, while my code is:

print(re.findall(r'\(?\d{3}\)?-?\s?\d{3}-\d{4}', data))

1 Answer

Christian Mangeng
Christian Mangeng
15,970 Points

Hi Sahar,

there is no element like 555-555 in the data file. If there was one, this code wouldn't match it because it would need to also match the non-optional hyphen and 4 digits after it. In general, only the pattern as a whole can lead to a match. It won't work if only a part of the pattern matches. Including 555-555 in your matching pattern would, however, be possible with:

print(re.findall(r'\(?\d{3}\)?-?\s?\d{3}-?\d{,4}', data))