继续挑战
第3题地址equality.html
- 网页标题是
re
- 题目是
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides
,意思是每边正好有3个保镖的小写字母
结合图片看这个题目挺有意思,中间是一根小蜡烛,两边各有三根大蜡烛
惯例先打开网页源码view-source,果然又有一长串乱码:
kAewtloYgcFQaJNhHVGxXDiQmzjfcpYbzxlWrVcqsmUbCunkfxZWDZjUZMiGqhRRiUvGmYmvnJIHEmbT
MUKLECKdCt…
这回貌似只有字母了,我们先将它取出来:
import re
import requests
response = requests.get('http://www.pythonchallenge.com/pc/def/equality.html').text
messy_str = re.findall(r'<!--(.*?)-->', response, re.DOTALL)[0]
通过分析网页的提示,应该是让我们找出两边正好有三个大写字母的小写字母
结合网页标题re
,很好想到用正则就很容易:
small_letters = re.findall(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]', messy_str)
print(''.join(small_letters))
linkedlist
注意是正好,所以两边还要匹配一个非大写字母(还要用[^A-Z]
而不是[a-z]
,因为后者匹配不到行首和行尾)。
把结果输入到地址栏linkedlist.html得到
linkedlist.php
再将地址改成linkedlist.php,果然是下一题!