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 trialTobias Edwards
14,458 PointsRegular Expressions: re.match() or re.search() to return multiple dictionaries
In the Python course: Introduction to Regular Expressions in the Groups video, Kenneth teaches how to use re.search() to loop through a string made up of contacts names, jobs, emails...etc... and return a dictionary of that contacts information.
My question is: How would I use re.search() or re.match() to print multiple dictionaries, each one of a different contact?
In the Groups video, Kenneth Love prints a dictionary containing information for himself, but how could I print all the dictionaries for all the contacts?
Instead of printing:
{"first_name" : "Kenneth", "second_name" : "Love"} # and other info
How could I print:
{"first_name" : "Kenneth", "second_name" : "Love"...}
{"first_name" : "Jim", "second_name" : "Turner"....}
{"first_name" : "Sherlock", "second_name" : "Holmes"...}
etc...
1 Answer
Kenneth Love
Treehouse Guest TeacherIn the last video of the course, we use a method named re.finditer()
. This method gives us an iterator (you can think of it as a list, but you can't index or slice it) that we can loop though. Each item in that iterator is a Match
object, like we get with re.match()
or re.search()
, so you can do match.groupdict()
for that object, assuming you called it match
in your for
loop.
Enric Enrich
4,869 PointsEnric Enrich
4,869 PointsAmazing, thank you so much for the explanation of it!