利用正規表示式對網路日誌資料進行資料清洗

2022-02-14 06:27:52 字數 760 閱讀 4626

原資料:

所需正規表示式

\\d+[.]\\d+[.]\\d+[.]\\d+

其中 "\\d+"表示任意連續數字,"[.]"表示點號,由於在正規表示式中"."通常表示萬用字元,因此點號加乙個中括號

\\d+/[a-za-z]+/\\d+:\\d+:\\d+:\\d+

中間加入"[a-za-z]+"表示任意連續字母,因為這裡月份用jan,feb, mar...表示的

網路資源:

\"[a-za-z]+[^\"]+\"

"[^\"]+"表示連續非引號,也就是匹配直到遇到乙個引號,"^"表示非

//

解析正規表示式

pattern pip = pattern.compile("\\d+[.]\\d+[.]\\d+[.]\\d+");

//正規表示式匹配字串line

matcher mip =pip.matcher(line);

//如果匹配到乙個目標串

if(mip.find())

else

matcher.find()表示進行一次匹配,這裡只進行了一次匹配也就是只匹配line中的第乙個目標串ip位址

通常要獲得所有的目標串,應該用while,

while

(mip.find())

其他的比如時間,網路資源,流量,訪問狀態碼都可以如此操作

author: zke

日誌正規表示式

一 簡單的日期判斷 yyyy mm dd d d 1 d 二 演化的日期判斷 yyyy mm dd yy mm dd d d d 3 d d年 d 月 d日 三 加入閏年的判斷的 例項 1 6 9 2 9 d d 0?13578 1 02 0?1 9 12 d 3 01 1 6 9 2 9 d d ...

正規表示式清理日誌

字段提取中正規表示式的使用 提取日誌中的資訊格式 欄位名稱 匹配具體資訊的正規表示式 日誌樣例 78 2019 08 21t17 10 01.461970 08 00 localhost crond root cmd usr lib64 sa sa1 1 1 正規表示式 d s s s s s s ...

利用正規表示式檢查素數

本帖最後由 遇見sharon 於 2013 8 12 17 09 編輯 一般來說,我們會使用正規表示式來做字串匹配,今天在網上瀏覽的時候,看到了有人用正規表示式來檢查乙個數字是否為素數 質數 讓我非常感興趣,這個正規表示式如入所示 要使用這個正規則表示式,你需要把自然數轉成多個1的字串,如 2 要寫...