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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!