Changes between Version 9 and Version 10 of LogParser
- Timestamp:
- Jul 4, 2008, 5:48:51 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
LogParser
v9 v10 79 79 將正規表示式的字串當引數輸入之後,就可以得到一個p的Pattern物件,而此正規表示式:[[br]] 80 80 '''([^ ]*) ([^ ]*) ([^ ]*) \\[([^]]*)\\] \"([^\"]*)\" ([^ ]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\".*''' [[br]] 81 對應到的apache log格式為:[[br]] 82 ''140.110.138.176 - - [02/Jul/2008:16:55:02 +0800] "GET /hbase-0.1.3.zip HTTP/1.0" 200 10249801 "-" "Wget/1.10.2" ''''[[br]] 81 若apache log範例為:[[br]] 82 140.110.138.176 - - [02/Jul/2008:16:55:02 +0800] "GET /hbase-0.1.3.zip HTTP/1.0" 200 10249801 "-" "Wget/1.10.2" [[br]] 83 則此正規表示法可看成[[br]] 84 85 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 86 || ([^ ]*) || ([^ ]*) || ([^ ]*) || \\[([^]]*)\\] || \"([^\"]*)\" || ([^ ]*) || ([^ ]*) || \"([^\"]*)\" || \"([^\"]*)\".* || 87 || ip || - || - || 時間 || "http " || 回傳碼 || 長度 || "指引" || "代理器" || 88 || 140.110.138.176 || - || - || [02/Jul/2008:16:55:02 +0800] || "GET /hbase-0.1.3.zip HTTP/1.0" || 200 || 10249801 || " -" || "Wget/1.10.2" || 89 83 90 在此可以把Pattern 當成是一個雛型類別,用compiler(表示式) 則告知了 以"表示式"為規則產生一個p的模板出來 84 91 ---------------------------- … … 106 113 接著定義建構子,宣告了一個 [http://java.sun.com/javase/6/docs/api/java/util/regex/Matcher.html java.util.regex.Matcher] 此物件可以用來與之前的 Pattern搭配。[[br]] 剛剛宣告的模板p有個函數 matcher(String) ,此功能會將材料(String敘述 )壓印成模板的形狀,並把這個壓出物件叫做matcher。 之後要取用matcher的第n段,只要用matcher.group(n)就可以把第n段的內容以String的形式取回。[[br]] 107 114 回頭對照傳近來的內容 108 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 109 || ip || - || - || 時間 || "http " || 回傳碼 || 長度 || "指引" || "代理器" || 110 || 140.110.138.176 || - || - || [02/Jul/2008:16:55:02 +0800] || "GET /hbase-0.1.3.zip HTTP/1.0" || 200 || 10249801 || " -" || "Wget/1.10.2" || 115 111 116 112 117 [[br]]