Python爬虫学习==>第九章:正则表达式基础

学习目的:

  正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特点字符、及这些特点字符组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正式步骤

Step1:常用匹配模式

Step2:最常规的匹配

import re

testString = ‘I have 4Learned the python years‘
print(len(testString))
result = re.match(‘^I\s\w{4}\s\d\w{7}.*years$‘,testString)
print(result)
print(result.group()) #现实匹配结果
print(result.span()  #现实匹配区间

运行结果:

32
<_sre.SRE_Match object; span=(0, 32), match=‘I have 4Learned the python years‘>
I have 4Learned the python years
(0, 32)

范匹配:

.*可以把除了匹配的开头和结尾都匹配

import re
testString = ‘I have 4Learned the python years‘
print(len(testString))
result = re.match(‘^I.*years$‘,testString)
print(result)
print(result.group())
print(result.span())

匹配目标:

  设置起始端点后,用()来把需要匹配的目标括号起来

import re

testString = ‘I have Learned the python years‘
print(len(testString))
result = re.match(‘^I\s\w{4}\s(\w+)\s.*years$‘,testString)
print(result)
print(result.group(1))
print(result.span())

贪婪匹配:

import re
testString = ‘I have 7777 Learned the python years‘
print(len(testString))
result = re.match(‘^I.*(\d+).*years$‘,testString)
print(result)
print(result.group(1))
print(result.span())

运行结果:

36
<_sre.SRE_Match object; span=(0, 36), match=‘I have 7777 Learned the python years‘>
7
(0, 36)

非贪婪匹配

import re
testString = ‘I have 7777 Learned the python years‘
print(len(testString))
result = re.match(‘^I.*?(\d+).*years$‘,testString)
print(result)
print(result.group(1))
print(result.span())

运行结果:

36
<_sre.SRE_Match object; span=(0, 36), match=‘I have 7777 Learned the python years‘>
7777
(0, 36)

Step3:匹配模式

包含换行符:

import re
testString = ‘‘‘I have 7777
Learned the python years‘‘‘
print(len(testString))
result = re.match(‘^I.*(\d+).*years$‘,testString,re.S)
print(result)
print(result.group(1))
print(result.span())

转义:

import re
content = "i have $5.00"
result = re.match(‘i have \$5\.00‘,content)
print(result.group())

Step4: re.search

  功能:扫描整个字符串,返回第一个成功的匹配

  

import re
testString = ‘‘‘I have 7777
Learned the python years‘‘‘
print(len(testString))
result = re.search(‘I.*(\d+).*years$‘,testString,re.S)
print(result)
print(result.group(1))
print(result.span())

  总结:为了匹配方便,能用search就不用match,因为search方法不用限制匹配字符串的头部必须一致

学习总结:

  正则表达式的应用需要多实践

原文地址:https://www.cnblogs.com/wuzhiming/p/8711852.html

时间: 2024-07-30 07:55:35

Python爬虫学习==>第九章:正则表达式基础的相关文章

python爬虫学习第一章

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

python爬虫学习第二章

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

Python爬虫学习==&gt;第一章:Python3+Pip环境配置

前置操作 软件名:anaconda  版本:Anaconda3-5.0.1-Windows-x86_64清华镜像  下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 软件名:Pycharm  版本:pycharm-professional-2017.3.2  下载地址:百度即可 软件名:python    版本:3.6      下载地址:python.org conda安装 Step 1: anaconda安装及注意事项 默

Python实战:Python爬虫学习教程,获取电影排行榜

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上程序员带你十天快速入门Python,玩转电脑软件开发(四),再次进行的Python爬虫实战课程. 正则表达式实例简单详解 正则表达式干什么用? 就是在字符串中提取我们需要的内容的. 记得哦,要先引用正则表达式模块的哦. re就是正则表达式相

《Python爬虫学习系列教程》学习笔记

转自:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. 一.Python入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

Python爬虫学习路线,强烈建议收藏这十一条

(一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习. 如果时间充裕的

Python爬虫学习:三、爬虫的基本操作流程

本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将数据或信息存入数据库中: 3.数据展示,即在Web端进行显示,并有自己的分析说明. 这次我先介绍第一个功能中所需要实现的基本操作: 爬虫的基本操作:      表示必须步骤           表示可选步骤 导入爬虫所需要的库(如:urllib.urllib2.BeautifulSoup.Scrap

Python爬虫入门七之正则表达式

在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我