python基础学习记录day3-pythonchallenge-第3关-根据提示找出隐藏在网页源码中的信息-按规则查找字符。
根据图片和底下英文提示可知,本关应该在大串字符串中寻找特定规则的字符,规则如上图蜡烛排列所示,三个大蜡烛夹一个小蜡烛,即是字符‘AAaAA’类型,根据本关网页名re提示,即选用re正则化编写代码。
算法思路:用re正则化常用函数及规则,如下所示:
compile():编译正则表达式模式,返回一个对象的模式。
findall():遍历需要寻找的字符串,从其中获取所有匹配的字符串,返回成一个列表。
根据以上正则化规则,可以编写代码,找出所需要的字符。
// 网页源码中的部分字符
str = """kAewtloYgcFQaJNhHVGxXDiQmzjfcpYbzxlWrVcqsmUbCunkfxZWDZjUZMiGqhRRiUvGmYmvnJIHEmbT
MUKLECKdCthezSYBpIElRnZugFAxDRtQPpyeCBgBfaRVvvguRXLvkAdLOeCKxsDUvBBCwdpMMWmuELeG
ENihrpCLhujoBqPRDPvfzcwadMMMbkmkzCCzoTPfbRlzBqMblmxTxNniNoCufprWXxgHZpldkoL"""
定义re正则化规则并选出匹配的字符连接输出。
// 代码如下
import re
pattern = re.compile(r'([a-z][A-Z]{3}[a-z][A-Z]{3}[a-z])')
res = pattern.findall(str)
res1 = []
for i in range(0,len(res)):
res1.append(res[i][4])
print(''.join(res1))
最终输出结果如下所示:
// 结果如下
linkedlist
如之前一样把网页中URL链接替换成linkedlist即可,网页提示后缀改为php:
最终第四关如下所示: