没有找到官方的解答,将解答记录在此,方便自己,方便他人,错误难免,请留言告知!如有问题,也可一起探讨!
环境Python3.7.1 Visual Studio Code
1-1
import re
#输出结果['bat', 'but', 'hit']
patt = r'[bh][aiu]t'
print(re.findall(patt,'fdjkbatfjkdbutfdjkhit'))
1-2
import re
#输出结果['leon chang', 'kathy wong']
patt = r'[A-Za-z-]+ [A-Za-z-]+'
print(re.findall(patt,'leon chang kathy wong'))
1-3
import re
#输出结果['l, c', 'kathy, wong']
patt = r'[A-Za-z-]+, [A-Za-z-]+'
print(re.findall(patt,'l, c kathy, wong'))
1-4
import re
#输出结果result3
patt = r'[A-Za-z]\w+'
print(re.match(patt,'result3').group())
1-5
import re
#输出结果1180 BordeauxDrive
#3120 De la Cruz Boulevard
patt = r'\d+( [A-za-z]+)+'
string1 = '1180 BordeauxDrive'
string2 = '3120 De la Cruz Boulevard'
print(re.match(patt,string1).group())
print(re.match(patt,string2).group())
1-6
import re
#输出结果www.google.com
#www.harvard.edu
patt = r'^www\.[A-Za-z]+\.(com|net|edu)$'
address1 = 'www.google.com'
address2 = 'www.harvard.edu'
print(re.search(patt,address1).group())
print(re.search(patt,address2).group())
1-7
import re
#输出结果-999
patt = r'-?\d+$'
print(re.match(patt,'-999'))
1-8
import re
#输出结果-999L
patt = r'-?\d+[lL]$'
print(re.match(patt,'-999L').group())
1-9
import re
#输出结果-999L
patt = r'-?[0-9]+(\.[0-9]*)?'
print(re.match(patt,'-99.99').group())
1-10
import re
#输出结果-3+3i
patt = r'-?\d*\+\d*i*'
print(re.search(patt,'-3+3i').group())
1-11
import re
#输出结果zhang@mail.qq.com
patt = r'\w+@(\w+\.)*\w+.com'
print(re.search(patt,'zhang@mail.qq.com').group())
1-12
import re
pattern = r'((http:|https:)//)?([w]{3}\.)?\w+\.\w+'
string = 'http://foothill.edu'
print re.match(pattern, string).group()
1-13
import re
#输出结果int
patt = r'<type "(.+)">'
print(re.search(patt,'<type "int">').group(1))
1-14
import re
#输出结果11
patt = '1[0-2]'
print(re.search(patt,'11').group())
1-15
import re
#输出结果[('', '1234-567866-66656'), ('1111-2222-3333-4444', ''), ('1111222233334444', '')]
patt = r'([0-9]{4}-?[0-9]{4}-?[0-9]{4}-?[0-9]{4})|([0-9]{4}-?[0-9]{6}-?[0-9]{5})'
print(re.findall(patt,'1234-567866-66656 1111-2222-3333-4444 1111222233334444'))
1-16
from random import randrange,choice
from string import ascii_lowercase as lc
from time import ctime
tlds = ('com','edu','net','org','gov')
for i in range(randrange(5,11)):
dtint = randrange(2**32)
dtstr = ctime(dtint)
llen = randrange(4,8)
login = ''.join(choice(lc) for j in range(llen))
dlen = randrange(llen,13)
dom = ''.join(choice(lc) for j in range(dlen))
data = '%s::%s@%s.%s::%d-%d-%d' % (dtstr, login,
dom, choice(tlds), dtint, llen, dlen)
with open('redata.txt','w') as f:
f.write(data)
1-17
import re
#输出结果
# ['Wed ']
#['Thu ']
#['Wed ']
#['Thu ']
#['Sat ']
patt = r'^\w{3}\s'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-18
import re
#输出结果
# ['Wed Jul 13 04:50:28']
# ['Thu Jan 4 10:11:05']
# ['Wed Mar 6 21:29:55']
# ['Thu May 20 00:45:23']
# ['Sat Dec 11 14:06:49']
patt = r'^\w{3}\s\w{3}\s\s?\d{1,2}\s\d{2}:\d{2}:\d{2}'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-19
import re
#输出结果
# ['Wed Jul 13 04:50:28 1988']
# ['Thu Jan 4 10:11:05 2052']
# ['Wed Mar 6 21:29:55 2058']
# ['Thu May 20 00:45:23 2049']
# ['Sat Dec 11 14:06:49 2094']
patt = r'^\w{3}\s\w{3}\s\s?\d{1,2}\s\d{2}:\d{2}:\d{2}\s\d{4}'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-20
import re
#输出结果
['niofb@pujouvqncx.com']
['xzhur@tjjus.net']
['lizlr@kujcgs.com']
['wsdam@gvrchikorf.edu']
['hdswav@qqxtvufcagn.com']
patt = r'::(\w+@\w+.\w{3})'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-21
import re
#输出结果
['Jul']
['Jan']
['Mar']
['May']
['Dec']
patt = r'\s(\w{3}\s)'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-22
import re
#输出结果
# ['1988']
# ['2052']
# ['2058']
# ['2049']
# ['2094']
patt = r'\s(\d{4})'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-23
import re
#输出结果
# ['04:50:28']
# ['10:11:05']
# ['21:29:55']
# ['00:45:23']
# ['14:06:49']
patt = r'\s(\d{2}:\d{2}:\d{2})'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-24
import re
#输出结果
# [('niofb', 'pujouvqncx.com')]
# [('xzhur', 'tjjus.net')]
# [('lizlr', 'kujcgs.com')]
# [('wsdam', 'gvrchikorf.edu')]
# [('hdswav', 'qqxtvufcagn.com')]
patt = r'(\w+)@(\w+.\w{3})'
with open('redata.txt','r') as f:
for line in f:
print(re.findall(patt,line.rstrip()))
1-26
import re
#输出结果
# Wed Jul 13 04:50:28 1988::zz@eyou.com::584743828-5-10
# Thu Jan 4 10:11:05 2052::zz@eyou.com::2587947065-5-5
# Wed Mar 6 21:29:55 2058::zz@eyou.com::2782646995-5-6
# Thu May 20 00:45:23 2049::zz@eyou.com::2505055523-5-10
# Sat Dec 11 14:06:49 2094::zz@eyou.com::3942886009-6-11
patt = r'(\w+)@(\w+.\w{3})'
with open('redata.txt','r') as f:
for line in f:
print(re.sub(patt,'zz@eyou.com',line.rstrip()))
1-27
import re
#输出结果
# Jul/Wed/1988
# Jan/Thu/2052
# Mar/Wed/2058
# May/Thu/2049
# Dec/Sat/2094
patt = r'(\w{3})\s(\w{3})\s\s?\d+\s\d{2}:\d{2}:\d{2}\s(\d{4})'
with open('redata.txt','r') as f:
for line in f:
print(re.sub(patt,r'\2/\1/\3',re.search(patt,line.rstrip()).group()))
1-28
import re
#输出结果123-1234
patt = r'\b(\d{3}-)?(\d{3})-\d{4}\b'
print(re.search(patt,'123-1234').group())
1-30-32题目看的都费劲,之后再做