进入第三关,还是一张图加一句话:One small letter, surrounded by EXACTLY three big bodyguards on each of its sides. 图画的是一支小蜡烛两旁各是三支大蜡烛。初次之外没啥信息了,还是和之前一样,右键,查看源代码。

果然,代码底下又有一个很长的注释,首先用第二关写的代码把页面提取出来:

def getHtmlPage(url):
return urllib2.urlopen(urllib2.Request(url)).read()

然后用这则表达式把这段注释提取出来:

url = 'http://www.pythonchallenge.com/pc/def/equality.html'
page = getHtmlPage(url)
rstList = re.findall('<!--\s+(.*)\s+-->', page, re.S)
ss = rstList[0]

接着就是处理这一段字符串了。三个大写字母加一个小写字母加三个大写字母,很明显用正则表达式:

def getSmallLetters(srcStr):
rstList = re.findall('[A-Z]{3}([a-z])[A-Z]{3}', srcStr)
return ''.join(rstList)

但是得到的结果却懵了:
jfeiauzroivgzbmpszazlutnwsdofbiwqdjbzshfrblqgsbydajygcbjwggtdfjeobcmdlzxajvitecgpkcfwqbvkoietpiijanvqjjgtcpadjkgcluaidgumcdskunujfcj

fmbzkzsasdxsqqqlaeisjefjfdaoljaywxjthqjknednxnsahxqedoeqsdcmltcsnwakjxtytaalhgabekfmyimwrkffydghiunlriwgkuzqljjbsxguytfsatejmdwkf

bzifdknpcqimvehxujszbuyutsompijjojspbwlroefiwmrsjstdjhfwxhnthsoosmoqtufoxvpvpjkgiaqgfrhufxxdnjiwtfqusbkeakunjgknpibklgjounivhgxsn

ekxgrrbslpuaouvhzbilbirmqqxtktgcnkdljoasnexwtgvwjegurnksokjtrovpmykzgeolwysfidemflmkwmj

难不成又是加密的字符串?可是根据提示和这个结果,没有任何解密的头绪。这时候再去看源代码里面的注释,又想起提示中有个大写单词 EXACTLY,发现源代码中有很多大于三个大写字母中间夹着一个小写字母,打开一个正则表达式在线测试网站,发现之前写的把这些也都匹配进来了,应该只匹配前后仅有三个大写字母的小写字母,于是修改了下正则表达式:

def getSmallLetters(srcStr):
rstList = re.findall('[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]', srcStr)
return ''.join(rstList)

这次结果对了,得到了:linkedlist

于是把 url 中的 equlity 换成 linkedlist,出来个页面,只有一句话:linkedlist.php。开始以为又做错了,试来试去,将 url 中的 linkedlist.html 换成 linkedlist.php,居然成功进入了第四关:http://www.pythonchallenge.com/pc/def/linkedlist.php

最新文章

  1. GJM :Unity使用EasyAR实现脱卡功能
  2. jQuery操作Table tr td常用的方法
  3. 实用js函数收集
  4. python --- Python中的callable 函数
  5. checkbox 全选,反选 ,全不选
  6. 数的n次方 s.match(reg) marquee滚动效果
  7. Admob(6.12.x)符号未定义错误的解决方法(IOS)
  8. Android之SQLite
  9. Windows Phone 开发起步之旅之二 C#中的值类型和引用类型
  10. IOS公司开发者账号申请详细教程--1 备用
  11. BZOJ 4407 于神之怒加强版
  12. 跨境移动互联网的魅力演绎,hao123无论成就下一个条目?
  13. SQLHelper帮助类_下(支持多数据库的封装)
  14. java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
  15. 2016第七届蓝桥杯C/C++语言A组
  16. GO语言-基础语法:条件判断
  17. 使用dom4j中SAXReader解析xml数据
  18. RabbitMQ python模块pika生产者消费者轮询模型。
  19. Spring Java-based容器配置
  20. Caffe搭建:Ubuntu14.04 + CUDA7.0 + opencv3.0 + Matlab2014A

热门文章

  1. 笔记--Day1--python基础1
  2. 01将图片嵌入到Markdown文档中
  3. com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 x 无效
  4. CentOS 7 忘记root密码解决方法
  5. React 基础知识总结
  6. CRC点滴
  7. SQL_2_查询Select语句的使用
  8. jQuery 遍历函数 ,javascript中的each遍历
  9. [转]物理CPU、CPU核数、逻辑CPU、超线程
  10. IO Streams:扫描