close
Warning:
Can't synchronize with repository "(default)" (Unsupported version control system "svn": libgnutls-deb0.so.28: failed to map segment from shared object: Cannot allocate memory). Look in the Trac log for more information.
- Timestamp:
-
Jul 4, 2008, 5:48:51 PM (17 years ago)
- Author:
-
waue
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
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]] |