thinkpad 用中键滚动屏幕失效..
python Challenge level 4

python Challenge level 3

TLHL28 posted @ Sun, 10 Jan 2010 08:23:48 +0800 in 随笔 with tags pythonchallenge , 1345 readers

python challenge 是一个闯关游戏...编程游戏. 主要用python 语言解题. 也可以用其他语言...

前两关就不说了..现在开始记录下过level3的点:

刚开始,没主要到页面的title是 re (<html><title>re</title>......</html>). re 是python 的正则表达式模块.

这说明这个level 要用到 regular expression. 但我用了一般的 if , for 。如下:

 

#!/bin/env python
analyze = open('source').read().strip().replace('\n',"")
box = [x for x in analyze[:8]]
box.insert(0,'0')
#print "".join(box)
#print "%s" % analyze
re = ""

for s in analyze[7:]:
    box.remove(box[0])
    box.append(s)
    #print "".join(box)

    if  "".join(box[1:4]).isupper() and "".join(box[-4:-1]).isupper():
       if "".join(box[0]).islower() and "".join(box[-1:]).islower():
            if "".join(box[4]).islower():
                #print "".join(box)
                re += "".join(box[4])
print re

在论坛看完7页的帖子后(都是给hints '提示,') 。发现我忽略了一个明显的提示......EXACTLY...

给出一个hints : you should search 'xXXXxXXXx' instead of 'XXXxXXX'.

oh...that's it! 

当然有个hints: use re model。

我之前也发现了  re. 但是不知道是啥意。

下面是我的正则,还没去看大家的解法:

下面的source 是一个文件,存放了一大串字符串....

-E : 使用 egrep; -F: 使用 fgrep

-o : 只显示匹配的那部分,而不是正行。

--color: 在匹配的行中用特别的颜色凸显出匹配部分

 

grep -E -o '[a-z]{1}[A-Z]{3}[a-z]{1}[A-Z]{3}[a-z]{1}' source

 

 

 

 


Login *


loading captcha image...
(type the code from the image)
or Ctrl+Enter