python爬虫之正则表达式学习笔记一
来源:互联网 发布:java重定向设置cookie 编辑:程序博客网 时间:2024/05/22 02:22
学习爬虫一段时间了,觉得学正则表达式是个好的契机,
作为一个大二学生平时课太多,希望通过这种方式提高复习效率...
import re #re模块为正则表达式子专用
>>> re.search(r'love','i love you') #引号里为想查找的字符串
<_sre.SRE_Match object; span=(2, 6), match='love'> #结果显示找到,‘love’在2到6的位置。
>>> re.search(r'.','i love you') # . 代表通配符,所以之后结果显示第一个字母i
<_sre.SRE_Match object; span=(0, 1), match='i'>
>>> re.search(r'yo.','i love you')
<_sre.SRE_Match object; span=(7, 10), match='you'>
>>> re.search(r'\.','i love. you') #在 . 前面加\ ,即可转义,查找字符串中有 . 的位置
<_sre.SRE_Match object; span=(6, 7), match='.'>
>>> re.search(r'\d','i love. 123 you') # \d 即为所有数字,结果为找到1。(注意这个返回结果只返回一个)
<_sre.SRE_Match object; span=(8, 9), match='1'>
>>> re.search(r'\d\d\d','i love. 123 you') #若想返回多个数,就多写几个\d。
<_sre.SRE_Match object; span=(8, 11), match='123'>
>>> re.search(r'\d\d\d\.\d\d\d.\d\.\d','161.123.1.1') #一个查找ip地址的例子
<_sre.SRE_Match object; span=(0, 11), match='161.123.1.1'>
>>> re.search(r'[abcde]','i love you')
<_sre.SRE_Match object; span=(5, 6), match='e'>
>>> re.search(r'[123]','i love. 123 you') # [ ] 里可以加数字,但结果仍然只查找第一个符合 [ ] 标准的
<_sre.SRE_Match object; span=(8, 9), match='1'>
>>> re.search(r'[a-z]','i love. 123 you') # [ ] 里也可以加范围,字母数字的都可以
<_sre.SRE_Match object; span=(0, 1), match='i'>
>>> re.search(r'[1-2]','i love. 123 you')
<_sre.SRE_Match object; span=(8, 9), match='1'>
>>> re.search(r'[3-4]','i love. 123 you')
<_sre.SRE_Match object; span=(10, 11), match='3'>
>>> re.search(r'3{3}','i love. 12333 you') # { } 里可加中括号前面这个字符的重复次数
<_sre.SRE_Match object; span=(10, 13), match='333'>
>>> re.search(r'3{3}','i love. 123333 you')
<_sre.SRE_Match object; span=(10, 13), match='333'>
-------------------------------那么如何查找0~255中的数字呢,比如188------------------------------
>>> re.search(r'[01]\d\d|2[0-4]]\d|25[0-5]','188') #如果百位数字是0或者1,那么之后两位就无所谓了;如果百位是2,那么十位在0-4的情况下个位就无所谓了;如果
<_sre.SRE_Match object; span=(0, 3), match='188'> #十位为5,那么各位就只能在0-5之间了。结果显示成功查找到188(注意 | 为逻辑或)
------------------------------------------接下来匹配一个ip地址----------------------------------------------
>>> re.search(r'(([01]\d\d|2[0-4]\d|25[0-5])\.){3}([01]\d\d|2[0-4]\d|25[0-5])','192.168.123.123') #方式类似于上个例子,但是有个问题在于ip地址不一定都是三位的。
<_sre.SRE_Match object; span=(0, 15), match='192.168.123.123'>
>>> re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])','192.168.1.1') #解决方法是在位数后加个重复次数的选项,即出现不出现都可以。
<_sre.SRE_Match object; span=(0, 11), match='192.168.1.1'>
----------------------------------------------------------------------------------------------------------------------
- python爬虫之正则表达式学习笔记一
- python网络爬虫学习笔记之之正则表达式
- Python爬虫入门一之正则表达式
- Python爬虫学习笔记(1)-正则表达式
- Python爬虫之正则表达式
- python爬虫之正则表达式
- python爬虫之正则表达式
- python爬虫之正则表达式
- Python 正则表达式之 补充学习笔记
- python学习之正则表达式笔记
- Python之学习笔记(正则表达式)
- python学习笔记之正则表达式1
- python学习笔记之正则表达式
- Python学习笔记之正则表达式基本知识
- Python 学习笔记之:正则表达式
- python爬虫(一) 正则表达式
- Python爬虫入门笔记:正则表达式
- [笔记]python爬虫:正则表达式库re
- 一种将英文文章字符串每个单词首字母转成大写字母的方法
- 深度学习与计算机视觉系列(1)_基础介绍
- 学习node时报错throw new TypeError('first argument must be a string or Buffer');
- luogu1090(堆,排序,贪心)合并果子
- Git学习笔记与IntelliJ IDEA整合
- python爬虫之正则表达式学习笔记一
- lightoj 1089 【离散化+线段树】
- Android应用打包以及多渠道打包
- 3.4矩阵元素的运算
- CREATE_FUNC(HNGame)
- spring security java config 源码分析 parentAuthenticationManager
- Java 多态的好处
- Uva12657 Boxes in a Line 【双向链表】【例题6-5】
- HDU5965 扫雷(递推)