基於Perl的正規表示式實踐

2021-09-27 08:34:56 字數 1573 閱讀 7081

說明:該部分來自 《google hacking for penetration testers》第三版第四章的自動細化的內容

目標

找出文字中的郵箱位址、url以及ip位址

perl指令碼

#!/usr/bin/perl

# # usage: ./search.pl file_to_search wordlist

#use strict;

open(searchfile,

$ar**[0

])||die

("can not open searchfile because $!");

open(wordfile,

$ar**[1

])||die

("can not open wordfile because $!");

my@words=;

close(wordfile);my

$linecount=0

;while()

}}close(searchfile)

;

補充

. 匹配除換行符以外的任意字元

\w 匹配字母或數字或下劃線或漢字 等價於 『[^a-za-z0-9_]』。

\s 匹配任意的空白符

\d 匹配數字

\b 匹配單詞的開始或結束

^ 匹配字串的開始

$ 匹配字串的結束

ip正則

(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])
url正則
[a-za-z][ss]?://((([\w\d\-]+\.)+[a-za-z])|((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])))((\?|/)[\w/=+#_~&:;%-\?\.]*)*
郵箱正則
[a-za-z0-9\._\-]+@(([a-za-z0-9._-]\.)+[a-za-z])|((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9])\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[0-9]))
example

Perl 正規表示式

正規表示式文中列表 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個後向引用 或乙個八進位制轉義符。匹配輸入字串的開始位置。如果設定了 regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果設定了 regexp 物件的multiline 屬性...

Perl正規表示式

元字元 元字元的含義是具有特殊含義的字元,即為元字元,元字元包括 點號能夠匹配所有的單字元,但是換行字元除外 n 簡易量詞 記載匹配正規表示式的時候有些需要重複的字元或者字串,我們在表示這種重複的形式的時候,即是量詞,我們知道的量詞有 表示至少重複一次,表示重複一次或者一次 以上,指的是重複一次或者...

perl 正規表示式

匹配 m 還可以簡寫為 略去 m 替換 s 轉化 tr 這三種形式一般都和 或 搭配使用 其中 表示相匹配,在整條語句中讀作 does,表示不匹配,在整條語句中讀作 doesn t 並在左側有待處理的標量變數。如果沒有該變數和 操作符,則預設為處理 變數中的內容。舉例如下 str i love pe...