1
xunyu 2013-08-05 22:12:21 +08:00
一行一行的读了匹配行不?
|
2
yangg 2013-08-05 22:15:34 +08:00
(?s)Teacher Name:.*?<b>(.*?)</a><br/>
(?s) 开启单行匹配模式,.匹配所有的字符 |
4
hhrmatata 2013-08-05 22:40:36 +08:00 1
# encoding: utf-8
import re html = """ <td bgcolor="#e9f2e9" valign="top">Teacher Name: </td> <td> <a href="TeacherInfo.asp?uid=2050"><b>Elodie Préaud</b></a><br> """ pattern = re.compile('Teacher Name.*?<b>(.*?)</b>', re.DOTALL) result = pattern.search(html).group(1) print result |
5
jwu OP @hhrmatata 今天困扰了一天的问题被您解决了!感谢!我来分析下关键的.*?这三个字麻烦看我是否理解正确了,由于开启了re.DOTALL,因此.匹配任何包括换行内容;*匹配0或多个,而加上?代表非贪婪,即匹配文档中第一次出现即匹配
|
6
vmebeh 2013-08-05 23:00:07 +08:00
ur'<a\shref="TeacherInfo\.asp\?uid=\d+"><b>(.*)</b></a>'
|
8
msg7086 2013-08-05 23:57:28 +08:00
这种匹配我宁愿先用split('Teacher Name')
|