Question
Using PYTHON3 Deliverables There is one deliverable. You will have to do very little coding. Instead, I will supply you with a function that will
Using PYTHON3
Deliverables
There is one deliverable.
You will have to do very little coding. Instead, I will supply you with a function that will test regular expressions and you will write regular expressions to extract a particular value from a line of text using this function.
Copy the following import statement into the script
import re
Copy the following function into your hw7.py script
def test_regular_expression(regex, test_string) : pattern = re.compile(r'' + regex ) match = pattern.match(test_string) if match : try : return match.group(1) except : print('Match found but no substring returned') return '' else: print(regex, 'does not match', string) return ''
Next copy the following string variables into your script
auth_log_line = 'Mar 16 11:58:13 it20 sshd[12041]: Accepted password for it341 from 65.96.149.57 port 60695 ssh2' apache_log_line = '205.236.184.32 - - [09/Mar/2014:00:03:21 +0000] "GET /wzbc-2014-03-05-14-00.mp3 HTTP/1.1" 200 56810323'
Now define the variables to return the following
Variable | Should Return | From String | May Use Literals |
---|---|---|---|
regex_1 | Month name and day number | auth_log_line | |
regex_2 | Hours, minutes, seconds | auth_log_line | : |
regex_3 | The hostname, e.g. it20 | auth_log_line | : sshd |
regex_4 | The number in square brackets after 'sshd' | auth_log_line | sshd |
regex_5 | The account name, e.g. it341 | auth_log_line | for |
regex_6 | IP address | auth_log_line | . |
regex_7 | Port number | auth_log_line | port |
regex_8 | IP address | apache_log_line | . |
regex_9 | Date | apache_log_line | / |
regex_10 | The file requested | apache_log_line | GET |
In each regular expression you create, do not use string literals unless I say you can For example you cannot use the regular expression (Mar) to match the month name in auth_log_line. Don't forget that if you want to use a meta-character as a literal, like . you must escape it with a \.
Test Code
Your script must contain the following test code
print('regex_1', regex_1, '\t returned ', test_regular_expression(regex_1, auth_log_line)) print('regex_2', regex_2, '\t returned ', test_regular_expression(regex_2, auth_log_line)) print('regex_3', regex_3, '\t returned ', test_regular_expression(regex_3, auth_log_line)) print('regex_4', regex_4, '\t returned ', test_regular_expression(regex_4, auth_log_line)) print('regex_5', regex_5, '\t returned ', test_regular_expression(regex_5, auth_log_line)) print('regex_6', regex_6, '\t returned ', test_regular_expression(regex_6, auth_log_line)) print('regex_7', regex_7, '\t returned ', test_regular_expression(regex_7, auth_log_line)) print('regex_8', regex_8, '\t returned ', test_regular_expression(regex_8, apache_log_line)) print('regex_9', regex_9, '\t returned ', test_regular_expression(regex_9, apache_log_line)) print('regex_10', regex_10, '\t returned ', test_regular_expression(regex_10, apache_log_line))
Output Example
Mar 16 11:58:13 it20 12041 it341 65.96.149.57 60695 205.236.184.32 09/Mar/2014 /wzbc-2014-03-05-14-00.mp3
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started