0

Python Core: More Metacharacters: Practice: Authentication

Hi, I had a bit of an issue with this practice activity in the Python Core course. This one is bugging me. I eventually looked at the solution, and the pattern was stated to be this: pattern = r"\w*[A-Z]\w*[0-9]\w*" I was thinking it was this way: pattern = r"[A-Z]+[0-9]+" Why doesn't my method work, and how does the solution work?

26th Aug 2022, 10:28 AM
Lando Martiniani
Lando Martiniani - avatar
4 Answers
+ 3
The pattern takes any word characters characters and yours does not
26th Aug 2022, 11:13 AM
Slick
Slick - avatar
+ 1
Also, fun fact, "/w" is not taught until the section after that Code Coach challenge. This isn't the first time Sololearn is throwing in concepts into challenges that we haven't learned yet. (ㆆ_ㆆ)
27th Aug 2022, 5:43 AM
Lando Martiniani
Lando Martiniani - avatar
+ 1
If you want to make use of "+" you can definitely do that in this way: import re password = input() #your code goes here pattern1 = r"[A-Z]+" pattern2 = r"[0-9]+" if re.search(pattern1, password) and re.search(pattern2,password): print("Password created") else: print("Wrong format") However as you can see you 'll need to use 2 different patterns which will make the code a bit longer
24th Sep 2022, 1:08 PM
Varun Baraskar
0
Thanks Slick! What you say makes sense, and maybe I'm thinking it should be a combination of both. The part I don't get is why we don't have to declare "one or more of" with "+" or "{1,}"? The problem is asking for there to be at least one uppercase letter and one number.
27th Aug 2022, 5:37 AM
Lando Martiniani
Lando Martiniani - avatar