一、python正则表达式

定义:正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式相匹配;

1.1RE模块:是python语言拥有全部的正则表达式功能的一个正则模块;

常见RE模块的方法:

创建模式对象compile(pattern)、在字符串中寻找模式search(pattern,string)、在字符串开始处匹配模式match(pattern,string)、

列表形式返回匹配项findll(pattern,string)、替换字符串中的匹配项sub(pattern,string)、根据模式分割字符串split(pattern,string)

a.创建模式对象compile(pattern)

在字符串中寻找模式search(pattern,string)

b.在字符串开始处匹配模式match(pattern,string)

为什么是None,match方法是指在字符串开始处匹配asd,上面的b中开始处没有asd,所以没有结果是None;

修改下如下:

c.列表形式返回匹配项findll(pattern,string)---指匹配到字符串中所有的正则,返回结果是一个元组

d.替换字符串中的匹配项sub(pattern,string),匹配到asd的字符串都替换成aaa

e.根据模式分割字符串split(pattern,string--匹配到.分割,返回的是一个列表

re.I不分大小写

^只匹配字符串的开头

.匹配任意字符

\d 匹配一个数字字符,等价于【0-9】

1.2贪婪模式和非贪婪模式

正则表达式通常用于在文本中查找匹配的字符串,python里的数量词默认的是贪婪的,意思就是总是尝试匹配尽可能多的字符

非贪婪的则相反,总是尝试匹配尽可能少的字符

*?,+?,??,{m,n}?   前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成非贪婪匹配;

例如:正则表达式“ab*” 如果用于查找“abbbc”,将找到“abbb”。

而如果使用非贪婪方法“ab*?”,将找到“a”。

二、正则表达式练习

爬虫一个网站:http://www.huya.com/

爬取了整个页面的代码

现在我们要刷选出“游戏”的字符串

最新文章

  1. HDU3394:Railway
  2. 【转】我的技术学习方法 — Anytao
  3. 【Java EE 学习 49 下】【Spring学习第一天】【MVC】【注解回顾】
  4. mongo VUE 操作
  5. Spring处理器
  6. xcode6 真机运行报错 Command /usr/bin/codesign failed with exit code 1
  7. Android What is Application
  8. 衣联网络-亿能测试 安全测试沙龙 PPT资料免费下载
  9. ScrollView自动滑到底部
  10. P - The Shortest Path in Nya Graph-hdu4725(双端队列+拆点)
  11. Android超炫日期日历控件:TimesSquare
  12. Monkey实例测试
  13. 【ztree】ztree例子
  14. sockt套接字编程
  15. Pat1067:Sort with Swap(0,*)
  16. How to emulate a Raspberry Pi on your PC
  17. JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
  18. Appium+java 模拟键盘输入
  19. HDU 1054 Strategic Game (最小点覆盖)【二分图匹配】
  20. 解决在Windows10没有修改hosts文件权限

热门文章

  1. hadoop2.7作业提交详解之文件分片
  2. java算法(4)---静态内部类实现雪花算法
  3. 如何在onCreate中获取View的高度和宽度
  4. Go 语言基础——go语言如何优雅的进行测试
  5. 搭建nuget 服务器
  6. 写论文的第一天 hadoop环境搭建
  7. 新手学习selenium路线图(老司机亲手绘制)
  8. JS 一些有意思的写法
  9. MySQL之mysqldump的使用
  10. 解决ionic 中 $ionicHistory.goBack()无法返回