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!

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

9,299 Points

what is wrong in this????

Please Explain why this is wrong

when I replace variable "i" with 4 then it gives the perfect result.

why "," are not included in words when they are stored in li. Like li should be = ["baby,", "dog,", "cat,", "balloon,"]

import re

# >>> find_words(4, "dog, cat, baby, balloon, me")
# ['baby', 'balloon']
def find_words(i, st):
    li = re.findall(r"\w{i,}", st)
    return li

1 Answer

Steven Parker
Steven Parker
228,026 Points

:point_right: Your letter "i" is just a letter inside the quotes.

To make the passed-in value appear you have to insert it into the string with format, or convert it to a string and concatenate it with the rest of the string:

    li = re.findall(r"\w{" + str(i) + ",}", st)

And the comma is not included in the character class represented by "\w", so it will not be part of the matching words.

9,299 Points

Isn't Comma a Unicode character ?