最近、「Python Quick Book」から Python re モジュールについて少し学びました。
本のコードをテストしようとしました。私のコードにエラーがないことに加えて、ファイルに与えられたデータのパターンを認識していません。
import re
regexp = re.compile(r"(?P<last>[-a-zA-Z]+)"
r"(?P<first>[-a-zA-Z]+)"
r" ( (?P<middle> ([-a-zA-Z]+)))?"
r": (?P<phone> (\d\d\d-)?\d\d\d-\d\d\d\d)"
)
file = open ('dir.txt', 'r')
for line in file.readlines():
result = regexp.search(line)
if result == None:
print ("Oops, I don't think this is a record")
else:
lastname = result.group('last')
firstname = result.group('first')
middlename = result.group('middle')
if middlename == None:
middlename = ''
phonenumber = result.group('phone')
print ('Name:', firstname, middlename, lastname, ' Number: ',phonenumber)
file.close()
これが私のテキストファイルにあるデータです。
Khan, Ahmed Ali : 800-123-4567
Malik, Asif Ali : 800-123-7844
Shaikh, Muhammad Sharafat: 300-123-4444
Shah, Farhat Abbas : 321-822-2977
Adam, Khalid Ahmed : 000-124-5454
前もって感謝します。:)