再学Python——正则表达

笔记水文不做详细介绍 详情请移步菜鸟教程

再次回顾一下python。不过这次是在安全领域上,这部分栏目将介绍常用到的方法及第三方库。在python的第三方库的支持下,能更高效的去完成项目,大大提高了效率

由于很多时候安全测试人员需要开发一些自己的小工具或者脚本,大多数使用python。因为…人生苦短我用python

正则表达

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配
Python 1.5之后增加了re 模块,它提供 Perl 风格的正则表达式模式
re 模块使 Python 语言拥有全部的正则表达式功能

归纳常用
re.compile(‘需要找的字符串’) ---- 检索
re.findall(‘想要找到的字符串’,被找的内容) ----- 匹配

给s1赋值一个变量先

s1 = 'htttp.abccc.abbbb ssss'

. 匹配任意换行符\n以外且之后一位的字符
例:http —> h. == ht
在这里插入图片描述
\ 转义字符,匹配需要转义的字符
例:http.w —> \ . == .
在这里插入图片描述
[…] 匹配字符集中任意字符
例:http —> h[taf]tp == http
在这里插入图片描述
[^…] 匹配字符集中…以外的字符。若在字符集中需要匹配特殊字符则需要加上
例:http —> h[^af]tp == http
在这里插入图片描述

\d == [0-9] 数字
\D == [^\d] 非数字
\s == [<空格>] 空格
\S ==[^\s] 非空格
\w == [A-Za-z0-9] 单词数字字符
\W == [\w] 非单词数字字符

在这里插入图片描述
’ * ’ 匹配前一个字符0次或无限次
例:abc* == ab / abc / abccccc

’ + ’ 匹配前一个字符1次或无限次
例:abc+ == abc / abccccc
在这里插入图片描述
? 匹配前一个字符0次或1次
例:abc? == ab / abc
在这里插入图片描述
{m} 匹配前一个字符m次
例:ab{2}c == abbc

{m,n} 匹配前一个字符m至n次
例:ab{1,2}c == abc / abbc
在这里插入图片描述
| 表示左右表达式任意匹配一个
例:abc|def == abc / def
在这里插入图片描述
(…) 被括表达式作为一个分组/整体
例:(abc){2} ==abcabc
a(123|456)c == a123c / a456c

贪婪模式
正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。匹配字符串example,匹配到的结果就是”abbbbbb”整个字符串。
例:abbbc —> ab* == abbb

非贪婪模式 (则尝试匹配尽可能少的字符)
在整个表达式匹配成功的前提下,尽可能少的匹配。匹配字符串example,匹配到的结果就只是”ab”整个字符串。
例:abbbc —> ab*? == a
在这里插入图片描述 
GOT IT!

 
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章