python challenge 第三关解法 http://www.pythonchallenge.com
来源:互联网 发布:mac无法接收打包文件 编辑:程序博客网 时间:2024/05/16 18:25
import res = ''.join(s.split())fetch = re.compile(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]').findallprint ''.join(fetch(s))
结果为:linkedlist
s 为第三关网页源码中的被注释的部分,第三关网页为:http://www.pythonchallenge.com/pc/def/equality.html
解决这关的关键就在于第三关图片下面的图示信息:
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
该句的意思是:有一个小写字母,它的两边有三个大写字母。
这句话的关键点在于 EXACTLY 表达的意思,其实它的意思是表示 这个小写字母两边只有三个大写字母,是”只有“。
本人英文比较烂,刚开始的时候,自认为小聪明,以为 EXACTLY 是大写的、粗体字,还比其他单词要大,于是自然而然的写下了如下正则:
fetch = re.compile(r'[EXACTLY]{3}([a-z])[EXACTLY]{3}').findall
可是运行起来才发现,错啦,-_-
于是转化思路,再次写了个错误正则
fetch = re.compile(r'[A-Z]{3}([a-z])[A-Z]{3}').findall
-_-到底咋回事呢,原来,我还是没完全搞懂意思,其实应该是小写字母的两边只能有3个大写字母,不能多,也不能少,所以正确的正则应该是:
fetch = re.compile(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]').findall
很受伤呀……
- python challenge 第三关解法 http://www.pythonchallenge.com
- python challenge 第四关解法 http://www.pythonchallenge.com
- python challenge 第五关解法 http://www.pythonchallenge.com
- python challenge 第六关解法 http://www.pythonchallenge.com
- python challenge 第二关最简解法 http://www.pythonchallenge.com
- python challenge 第零关解法 http://www.pythonchallenge.com
- python challenge 第三关
- python challenge 第三关
- pythonchallenge第三关
- python挑战题 http://www.pythonchallenge.com/pc/def/map.html
- python challenge 第四关
- python challenge 第四关
- python challenge 第五关
- Python Challenge第二关
- Python Challenge:第八关
- Python Challenge 第九关
- 学习python pythonchallenge第一关
- 关于www.pythonchallenge.com的记录
- DirectShow 枚举设备
- Mac 在vmware中更改分辨率
- Java 发送邮件
- install snow leopard on thinkpad x201
- 【李彦宏创业7剑】
- python challenge 第三关解法 http://www.pythonchallenge.com
- Ubuntu下Adb调试Android找不到设备的解决方法
- 只允许输入数字不允许输入字母和汉字和只允许粘贴数字
- 堆和栈的区别!!又死在这个问题上了。。转载百科
- Telepathy
- 高级定制服装是谁在做?
- distccd 帮助页
- distcc 帮助页 2
- 【原】向html5进军 (1) ——用flash和wallaby 制作html5动画 前言概要