美文网首页python challenge
[Python Challenge通关]第3关 re

[Python Challenge通关]第3关 re

作者: jianggushi | 来源:发表于2018-12-06 09:54 被阅读0次
    bodyguard

    One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.

    一个小写字母,每边都有三个大保镖。

    挑战地址,点我

    分析

    右键查看网页源码,可以看到也有一堆字符。

    <!--
    kAewtloYgcFQaJNhHVGxXDiQmzjfcpYbzxlWrVcqsmUbCunkfxZWDZjUZMiGqhRRiUvGmYmvnJIHEmbT
    MUKLECKdCthezSYBpIElRnZugFAxDRtQPpyeCBgBfaRVvvguRXLvkAdLOeCKxsDUvBBCwdpMMWmuELeG
    ... 省略
    

    根据提示信息,需要找到左右两边都被3个大写字母包围的小写字母,类似 AAAaAAA,可以使用正则表达式来实现:

    #!/usr/bin/env/ python3
    
    import re
    
    text = '''复制那一堆字符进来'''
    result = re.findall(r'[A-Z]{3}([a-z]{1})[A-Z]{3}', text)
    print(''.join(result))
    

    输出结果:

    jfeiauzroivgzbmpszazlutnwsdofbiwqdjbzshfrblqgsbydajygcbjwggtdfjeobcmdlzxajvitecgpkcfwqbvkoietpiijanvqjjgtcpadjkgcluaidgumcdskunujfcjfmbzkzsasdxsqqqlaeisjefjfdaoljaywxjthqjknednxnsahxqedoeqsdcmltcsnwakjxtytaalhgabekfmyimwrkffydghiunlriwgkuzqljjbsxguytfsatejmdwkfbzifdknpcqimvehxujszbuyutsompijjojspbwlroefiwmrsjstdjhfwxhnthsoosmoqtufoxvpvpjkgiaqgfrhufxxdnjiwtfqusbkeakunjgknpibklgjounivhgxsnekxgrrbslpuaouvhzbilbirmqqxtktgcnkdljoasnexwtgvwjegurnksokjtrovpmykzgeolwysfidemflmkwmj
    

    找到了一堆字符,把这些字符替换页面的 url 发现失败了,再想下上面的匹配规则是不是有问题?

    按照上面的规则,如果字符串中含有类似 AAAAaAAA,这样的也会被匹配出来。

    再回头看下提示信息,有个单词 EXACTLY 还特意大写了,意思是要 恰好每边 3 个大写字符,所以需要修改匹配规则,修改成类似 aAAAaAAAa,这样就能保证中间的字符每边恰好有 3 个大写字符。

    #!/usr/bin/env/ python3
    
    import re
    
    text = '''复制那一堆字符进来'''
    result = re.findall(r'[a-z]{1}[A-Z]{3}([a-z]{1})[A-Z]{3}[a-z]{1}', text)
    print(''.join(result))
    

    输出结果:

    linkedlist
    

    linkedlist 替换当前页面的 url 就可以进入下一关 http://www.pythonchallenge.com/pc/def/linkedlist.html

    补充

    打开 http://www.pythonchallenge.com/pc/def/linkedlist.html 发现页面上出现了一个 linkedlist.php

    提示我们新的 url 应该是 http://www.pythonchallenge.com/pc/def/linkedlist.php

    参考资源:

    1. re 官方文档
    2. re 参考
    3. 正则表达式30分钟入门教程

    相关文章

      网友评论

        本文标题:[Python Challenge通关]第3关 re

        本文链接:https://www.haomeiwen.com/subject/fdsncqtx.html