Learn Regular Expressions by Building a Password Generator - Step 42

Tell us what’s happening:

ok so step 42 asked to change the pattern variable to match the entire quote variable. I’ve tried multiple different patterns and this is the only that matches and yet it still won’t go through. Can someone please help?

My code so far

import re
import secrets
import string


def generate_password(length, nums, special_chars, uppercase, lowercase):
    # Define the possible characters for the password
    letters = string.ascii_letters
    digits = string.digits
    symbols = string.punctuation

    # Combine all characters
    all_characters = letters + digits + symbols

    while True:
        password = ''
        # Generate password
        for _ in range(length):
            password += secrets.choice(all_characters)
        
        constraints = [
            (nums, '[0-9]'),
            (lowercase, '[a-z]'),
            (uppercase, '[A-Z]'),
            (special_chars, '')
        ]        

    return password
    
# new_password = generate_password(8)
# print(new_password)

# User Editable Region

pattern = '.+[^a-z]'
quote = 'Not all those who wander are lost.'
print(re.findall(pattern, quote))

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 42

There is a pretty strong hint here:

Use a . followed by the + quantifier.

I would recommend this website to help learn regex: https://regex101.com/

Screenshot 2024-03-09 222424
Screenshot 2024-03-09 222403

You can see that your regex does match the sentence.

.+ matches any character, unlimited times :+1:
[^a-z] matches any character except a-z. What part of the sentence will this part match?

Thank you. I overcomplicated it.

Try it… :slightly_smiling_face: :grinning: :smiley:
solution removed

Hi, welcome to the forum. :wave:

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

This topic was also resolved 3 months ago, and so did not need to be addressed.

Thanks for helping out!