Python:正则表达式groups函数访问匹配串
Python 正则表达式RE模块里面的group方法用着挺方便的,
在这里写博客做个简单的记录,方便日后查阅
运行环境 Runtime environment
1 2 3
| 操作系统: Windos10 IDE: JetBrains Pycharm 2019.2.4 x64 语言: Python 3.7.4
|
背景
出于学习的目的,去尝试在中国供应商网练习字体反爬,过程中看到group的用法。
代码说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import requests import base64 import re
url = 'https://ph0101.cn.china.cn/contact-information/' res = requests.get(url).text
base64_group = re.search("base64,(.*?)'\)",res).group(1) base64_groups = re.search("base64,(.*?)'\)",res).groups() base64_demo = re.search("base64,(.*?)'\)",res) print("base64_group %s"%base64_group) print("base64_groups %s"%base64_groups) print("base64_demo %s"%base64_demo)
|
运行结果
总结
前面通过括号()的方式来匹配正则表达式,会发现有多个成立的,
如果把这些匹配的结果放到一个元组里,怎么样访问这些匹配的结果呢?
在这里使用groups()函数来访问,
在这里使用group(索引数)函数来访问多个匹配结果中的某一个,
直接打印re.search结果可以看到得到是个re.match对象。
简而言之就是方便从re.match对象取出匹配值使用的,与findall不同。