博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【学习笔记】第二章 python安全编程基础---正则表达式
阅读量:6239 次
发布时间:2019-06-22

本文共 975 字,大约阅读时间需要 3 分钟。

一、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”。

二、正则表达式练习

爬虫一个网站:

爬取了整个页面的代码

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

 

转载于:https://www.cnblogs.com/tianyu2018/p/10842084.html

你可能感兴趣的文章
对前面的自定义的toast制作拖拽效果,以及双击居中效果
查看>>
php 文件目录操作
查看>>
一个人的心态决定你的人生百分度
查看>>
lsyncd配置文件
查看>>
Java基础学习总结(7)——Object类
查看>>
OPEN SSH升级小结(针对SUSE REDHAT linux系统)
查看>>
Myeclipse优化配置
查看>>
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
查看>>
Notepad++ 快捷键大全
查看>>
Oracle统计求和
查看>>
在Android搭建简单的服务器
查看>>
智能合约编程/Dapp漏洞 --Unexpected Ether
查看>>
perl写的tcp连接数
查看>>
Windows 7自带截图工具技巧两则
查看>>
如何规划构建一套大型的Citrix桌面虚拟化架构 - 后记
查看>>
zencart lazyload插件
查看>>
delete和delete[] 的深度思考
查看>>
linux ifconfig命令
查看>>
截杀“WannaCrypt”,终结“永恒之蓝”!
查看>>
Oracle内部视图:x$ktfbue
查看>>