再學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!

 
******************************************************
小實驗小結,具體測試利用方式需根據具體實踐場景~

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