1. Python 正则
re.match
从字符串起始位置匹配一个模式,如果从起始位置匹配不了,match()就返回none
语法格式:
import re
m = re.match(pattern, string, flags=0)
# flags用来控制匹配方式,如是否区分大小写,多行匹配等
print('结果:', m)
print('起始与终点:', m.span())
print('匹配的起始位置:', m.start())
print('匹配的终点位置:', m.end())
# pattern为正则表达式
print('匹配的整句话:',m.group(0))
print('匹配的第一个结果:',m.group(1))
print('匹配的第二个结果:',m.group(2))
print('匹配的结果列表:',m.groups())
(.*) 贪婪匹配
(.*?) 非贪婪匹配
正则表达式前加 r : 表示原生字符串,不会转义
否则需要转义
re.search()
扫描正字字符串并返回第一个成功的匹配
其他方面与match一样
re.findall()
findall可以找到所有的匹配,并以列表的形式返回
2. BeautifulSoup库
bs4 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
3. XPath
表达式 | 描述 |
---|---|
nodename | 选取所有的nodename子节点 |
/ | 从根节点选取 |
// | 从任意位置匹配 |
. | 选取当前节点 |
… | 选取父节点 |
@ | 选取属性 |
text() | 选取文本 |
* | 通配符,不包括文本,注释 |
@* | 选择所有属性 |