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 Word Length

RegEx find_words challenge problem

What exactly is wrong with my code? The error message it gives me is 'Bummer: Didn't get the right output. Output was []. Length was 6.' I have looked at it a lot and cannot figure out what exactly I did wrong and am getting frustrated. It is just supposed to return a list of words that are are count words or more based on a given string

word_length.py
import re

# EXAMPLE:
# >>> find_words(4, "dog, cat, baby, balloon, me")
# ['baby', 'balloon']

def find_words(count, string):
    return re.findall(r"\w{count,}", string)

1 Answer

Hi Kaleb!

Your main issue is that you are trying to use a variable in your regex string, but it is being treated literally.

You need to do something like this (it passes):

import re

# EXAMPLE:
# >>> find_words(4, "dog, cat, baby, balloon, me")
# ['baby', 'balloon']

def find_words(count, string):
    return re.findall(r'\w{' + str(count) + ',}',  string)

This is what injects the variable into the string effectively:

' + str(count) + '

Note that to avoid a concatenation error the integer needs to be cast to a string when concatenating the regex string.

I hope that helps.

Stay safe and happy. coding!

Thank you