第三关。
问题的解法在于正则表达式。
首先。。。你应该能找到需要正则的字符在哪里。。。那就好了!
题意就是说:
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
在正则的字符里面找到符合要求的字母。
例如:aTTTfTTTz 那么这个f就是需要正则结果到的字母。
PS:题目中 EXACTLY :精确的。左右两边是三个大写字母,必须是三个。。。
代码:
#-*- coding:utf-8 -*- #代码版本均为python 3.5.1 #Level 3 import urllib.request import re f = urllib.request.urlopen('http://www.pythonchallenge.com/pc/def/equality.html') data = f.read() #reg = re.compile('[A-Z]{3}([a-z])[A-Z]{3}') 没有考虑左右两边必须是3个大写字母 reg = re.compile(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]') #[^A-z]表示除了大小写字母以外的字符。 print (''.join(reg.findall(str(data))))
对于正则表达式可以去廖雪峰这里稍作了解
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143193331387014ccd1040c814dee8b2164bb4f064cff000
正则匹配网络版。。。
http://tool.oschina.net/regex
所以可以得到linkedlist.
可以顺利进入下一关。
http://www.pythonchallenge.com/pc/def/linkedlist.php