学会正则表达式,爬遍所有网站都不怕!最详细的…

2018-07-06 01:19:07来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

百度百科上关于正则表达式的解释:

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

例:判断是否是手机号码

未采用正则表达式

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

re模块介绍

常用函数

  1. re.match()函数:扫描整个字符串,返回从起始位置成功的匹配
  2. 语法:re.match(pattern, string, flags=0)
  3. pattern 匹配的正则表达式;string 要匹配的字符串;flags 标志位,用于控制正则表达式的匹配方式,常见值如下:(re.I 忽略大小写;re.M 多行匹配)
  4. re.search()函数:扫描整个字符串,并返回第一个成功的匹配(语法同上)
  5. findall()函数:扫描整个字符串,并返回结果列表(语法同上)
学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

匹配单个字符

  • . 匹配除换行符以外的任意字符
  • [123abc] []是字符集和,表示匹配方括号中所包含的任意一个字符
  • [^ Mark] 匹配除了 Mark 这几个字母以外的所有字符,中括号里的 ^ 称为脱字符,表示不匹配集合中的字符
  • d 匹配数字,效果同 [0-9]
  • D 匹配非数字字符,效果同 [^0-9]
  • w 匹配数字、字母和下划线,效果同 [0-9a-zA-Z_]
  • W 匹配非数字、字母和下划线,效果同 [^0-9a-zA-Z_]
  • s 匹配任意的空白符(空格、换行、回车、换页、制表),效果同 [ ]
  • S 匹配任意的非空白符,效果同 [^ ]
学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

学会正则表达式,爬遍所有网站都不怕!最详细的正则入门教程!

 

代码块

# 对 * 进行转义,进行非贪婪匹配print(re.findall(r"//*.*?/*/", r"/* one */ /* two */ ")) # ['/* one */', '/* two */']

大家可以去写一下关于 QQ 、邮箱、电话、用户名、密码、IP地址、URL的正则表达式来练下手。

是不是很强大,进群:125240963  即可获取数十套PDF哦!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Django框架的使用教程--类视图-中间间-模板[六]

下一篇:听说你想学Python?不知道看什么书?我爬取了评分最实用的书籍!