Search for question
Question

Question 1

(25 points)

Say you want to find a phone number in a string. You know the pattern: three numbers, a hyphen,

three numbers, a hyphen, and four numbers. Here's an example: 415-555-4242.

Let's use a function named isPhone Number() to check whether a string matches this pattern,

returning either True or False. Open a new file editor window and save the file as

isPhone Number.py.

Regular expressions, called regexes for short, are descriptions for a pattern of text. For example, a

\d in a regex stands for a digit character that is, any single numeral 0 to 9. The regex \d\d\d-\d\d\d-

\d\d\d\d is used by Python to match the text containing phone numbers in the isPhoneNumber()

function: a string of three numbers, a hyphen, three more numbers, another hyphen, and four

numbers. Any other string would not match the \d\d\d-\d\d\d-\d\d

\d\d regex. But regular expressions can be much more sophisticated. For example, adding a 3 in

curly brackets ({3}) after a pattern is like saying, "Match this pattern three times." So the slightly

shorter regex \d{3}-\d{3}-\d{4} also matches the correct phone number format.

All the regex functions in Python are in the re module. Enter the following into an interactive shell

to import this module:

>>> import re

A Regex object's search() method searches the string it is passed for any matches to the regex. The

search() method will return None if the regex pattern is not found in the string. If the pattern is

found, the search() method returns a Match object. Match objects have a group() method that will

return the actual matched text from the searched string.

Task: Use this information to write a python script to match phone numbers. Test your

program on a sample search string containing a phone number. If you are comfortable using

another language of your choice, please feel free to do so.

Fig: 1