The Python Challenge–Level 3
Level3地址:http://www.pythonchallenge.com/pc/def/equality.html
分析
提示文字:
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
根据上一次的经验,查看网页的源码,标题为re
,看来和正则表达式有关系了。
网页源码里仍然有一段被注释的字符串,看来就要在这一串中找出两边大写中间小写字母的内容了。
解决
text = ‘’’
…
‘’’
import re
pattern = re.compile(r'[A-Z]{3}([a-z])[A-Z]{3}')
result = re.findall(pattern,text)
print(‘’.join(result))
发现打印出来很多结果,哪里出了问题?
再仔细看提示语:EXACTLY
,必须是有且只有三个大写字母。
修改正则表达式:
pattern = re.compile(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]')
输出:
linkedlist