One small letter, surrounded byEXACTLY three big bodyguards on each of its sides.
恩~一个小写字母,两边是三个大写字母。
应该有一长串字符串,Ctrl +U ,恩,找到了~
根据,网页title提示,应该用re模块,就是使用正则表达式喽~
一开始使用的正则是:'[^A-Z][A-Z]{3}[a-z]{1}[A-Z]{3}[^A-Z]'
输出是:['qIQNlQSLi', 'eOEKiVEYj', 'aZADnMCZq', 'bZUTkLYNg', 'uCNDeHSBj', 'kOIXdKBFh', 'dXJVlGZVm', 'gZAGiLQZx', 'vCJAsACFl', 'qKWGtIDCj']
我觉得,我应该少想了一点东西。
然后试了一下,把每一个匹配的结果的中间的小写字母取出来。恩,好像对了~
正则:[^A-Z][A-Z]{3}([a-z]){1}[A-Z]{3}[^A-Z]
code:
#! usr/bin/env python
import re
import urllib2
def Searchchar(str):
result = re.findall('[^A-Z][A-Z]{3}([a-z]){1}[A-Z]{3}[^A-Z]',str)
return result
if __name__ == "__main__":
try:
f = urllib2.urlopen('http://www.pythonchallenge.com/pc/def/equality.html')
content = f.read()
except urllib2.URLError:
content = 'Maybe the URL is wrong~'
print content
else:
result = Searchchar(content)
print ''.join(result)
finally:
print '-'*50
输出:
linkedlist
第四关链接:
http://www.pythonchallenge.com/pc/def/linkedlist.php
吼吼~