python闯关

本文介绍了一个Python挑战题目,通过解析特定网页并使用正则表达式找出出现频率最低的字符。该过程涉及到了使用urllib2获取网页内容、re模块进行模式匹配等关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dict.get(key, default=None)

2.
http://www.pythonchallenge.com/pc/def/ocr.html
查看源码,就是找一堆码里出现次数最少的字符

import urllib2
def get_challenge(s):
    return urllib2.urlopen('http://www.pythonchallenge.com/pc/' + s).read()

src = get_challenge('def/ocr.html')
import re
text = re.compile('<!--((?:[^-]+|-[^-]|--[^>])*)-->', re.S).findall(src)[-1]
counts = {}
for c in text: counts[c] = counts.get(c, 0) + 1
print counts
------------------------------
> {'\n': 1221, '!': 6079, '#': 6115, '%': 6104, '$': 6046, '&': 6043, ')': 6186, '(': 6154, '+': 6066, '*': 6034, '@': 6157, '[': 6108, ']': 6152, '_': 6112, '^': 6030, 'a': 1, 'e': 1, 'i': 1, 'l': 1, 'q': 1, 'u': 1, 't': 1, 'y': 1, '{': 6046, '}': 6105}
------------------------------
print ''.join(re.findall('[a-z]', text))


草泥马
妈的看个正则看了一晚上
分享个网址:

https://jex.im/regulex/#!embed=false&flags=&re=

希望大家少走弯路
这里写图片描述


(?:exp) 匹配exp,不捕获匹配的文本
再分享个网址:

http://deerchao.net/tutorials/regex/regex.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值