Below is from Code Coach. 1/5 test running went failed,can anyone tell me where the bug is?

import re def extract(link): ret=re.match(r"^(https:\/\/www\.youtube\.com|https:\/\/youtu\.be)(\/watch\?v=|\/)([a-zA-Z0-9_]*)$", link) if ret: print(ret.group(3)) li=input() extract(li)

1/2/2020 8:12:56 AM


6 Answers

New Answer


Hi, WhyFry. I checked your code, that’s a total different thinking and very smart by just spliting the string with relevent character.


Hi, Rik , you have remind me, now it is working after I changed a-z,A-Z,etc in the brackets into ^\s.


Hi Kathy Nice code, smarter than I am so I am not sure if my next suggestion is valid. It appears to me that the link characters you have defined are a-z, A-Z,0-9. What if a link character is not contained within your definition?


Hi, Rik. Below is the describtion from the code coach, it says the information to be extract is the at the end of the link, which is a combination of letters and nummbers. I have one test out of five failed. YouTube Link Finder You and your friends like to share YouTube links all throughout the day. You want to keep track of all the videos you watch in your own personal notepad, but you find that keeping the entire link is unnecessary. Keep the video ID (the combination of letters and numbers at the end of the link) in your notepad to slim down the URL. Task: Create a program that parses through a link, extracts and outputs the YouTube video ID. Input Format: A string containing the URL to a YouTube video. The format of the string can be in "https://www.youtube.com/watch?v=kbxkq_w51PM" or the shortened "https://youtu.be/KMBBjzp5hdc" format. Output Format: A string containing the extracted YouTube video id. Sample Input: https://www.youtube.com/watch?v=RRW2aUSw5vU Sample Output: RWW2aUSwvU


s=input() x=s.count("https://youtu.be/") if x==1: print(s[17:]) else: print(s[32:])