Learn Regular Expressions by Building a Password Generator - Step 36

Tell us what’s happening:

The output shows me that t is being matched with h resulting in ‘th’ which seems correct when looking at the quote, but my code does not pass.

Your 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, '[0123456789]')
        ]        

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

/* User Editable Region */

pattern = 't[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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 36

That’s t followed by lowercase letter. The goal is to match t preceded by lowercase letter.

1 Like

I tried concatenating, pattern = 't' + '[a-z]' but this still doesn’t work?

To put it in different words - it should be lowercase letter followed by t.

Just as ‘t’ precedes lowercase ‘h’ in ‘those’, you have two 'w’s preceding ‘h’ and ‘a’ in ‘who’ and ‘wander’ respectively. What would your pattern be with something like ‘w preceding [ha]’ , try plugging that.