作者Holocaust123 (奔跑的蜗牛)
看板Python
标题Re: [问题] 字串判断
时间Fri Apr 15 09:40:30 2011
※ 引述《elvisteal (TEAL)》之铭言:
: <font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe5\x90\x8d]</font><br>\n
: \t\xe7\xb6\xbe\xe9\x83\xa8<br>
: 请问若有一串字串是这样子
: 而\xe7\xb6\xbe\xe9\x83\xa8 是不定变数,长度也不一样不过最後一定会有<br> (其它都是固定的)
: 请问我要如何抓取这不定变数?
使用 regular expression 的 grouping 即可...
#coding=utf8
import re
html = ur"""<font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe
5\x90\x8d]<\font><br>\n
\t\xe7\xb6\xbe\xe9\x83\xa8<br>"""
pattern = ur'<font color=.*?>.*?<\\font><br>\\n.*?\\t(.*?)<br>'
pattern = re.compile(pattern, re.DOTALL)
iterator = re.finditer(pattern, html)
for matcher in iterator:
print matcher.group(1)
执行结果:
\xe7\xb6\xbe\xe9\x83\xa8
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.46
1F:推 elvisteal:感谢~我大概参照了一下您的搜索方法,再全印出去切割 04/15 12:14
2F:→ elvisteal:不过re.DOTALL 我再去找书看看好了><"有点看不懂为什麽 04/15 12:15
Python的regex engine预设的
. 不会match断行符号(EOL)
这样就不适用在你的情况(因为html很少会只有一行)
re.DOTALL是让regex的
. 可以match断行符号
※ 编辑: Holocaust123 来自: 140.112.30.46 (04/15 12:42)
3F:推 elvisteal:原来如此!这判断真不错,可以用很多模拟get了! 04/15 15:21
4F:→ elvisteal:差不多弄懂要怎麽去抓判断了 04/15 15:21