I can't pass this code challenge:
Regular Expression Search Challenge Using the Python string below to perform a search using a regular expression that you create.
search_string=’’’This is a string to search for a regular expression like regular expression or regular-expression or regular:expression or regular&expression’’’
Write a regular expression that will find all occurrences of: a. regular expression b. regular-expression c. regular:expression d. regular&expression in search_string
Assign the regular expression to a variable named pattern
Using the findall() method from the re package determine if there are occurrences in search_string
Assign the outcome of the findall() method to a variable called match1
If match1 is not None: a. Print to the console the pattern used to perform the match, followed by the word ‘matched’
Otherwise: a. Print to the console the pattern used to perform the match, followed by the words ‘did not match’
Here is my code:
import re
#The string to search for the regular expression occurrence (This is provided to the student)
search_string = '''This is a string to search for a regular expression like regular expression or
regular-expression or regular:expression or regular&expression'''
#1. Write a regular expression that will find all occurrences of:
# a. regular expression
# b. regular-expression
# c. regular:expression
# d. regular&expression
# in search_string
#2. Assign the regular expression to a variable named pattern
ex1 = re.search('regular expression', search_string)
ex2 = re.search('regular-expression', search_string)
ex3 = re.search('regular:expression', search_string)
ex4 = re.search('regular&expression', search_string)
pattern = ex1 + ex2 + ex3 + ex4
#1. Using the findall() method from the re package determine if there are occurrences in search_string
#. Assign the outcome of the findall() method to a variable called match1
#2. If match1 is not None:
# a. Print to the console the pattern used to perform the match, followed by the word 'matched'
#3. Otherwise:
# a. Print to the console the pattern used to perform the match, followed by the words 'did not match'
match1 = re.findall(pattern, search_string)
if match1 != None:
print(pattern + 'matched')
else:
print(pattern + 'did not match')
I don't really get any feedback from the program. It just tells me I failed without an error message.
re.findall('ONE[\S]TWO', 'ONE&TWO'), 2.re.findall('ONE[\S]TWO', 'ONE)TWOTHREE'), 3.re.findall('ONE[\S]TWO', 'ONE)TWO----THREE'), 4.re.findall('ONE[\S]+TWO', 'ONE@TWO'), 5.re.findall('ONE[\S]+TWO', 'ONE>>>>>>TWO'), 6.re.findall('ONE[\S]+TWO', 'ONE>>>>>>TWO>>>>>>>THREE')