{"rsdb":{"rid":"351967","subhead":"","postdate":"0","aid":"249827","fid":"90","uid":"1","topic":"1","content":"
\n

 <\/p> \n

\u3000\u3000\u9488\u5bf9\u4e8eweb\u65e5\u5fd7\u505a\u5206\u6790\u662f\u5b66\u4e60spark\u5e38\u7528\u7ec3\u4e60\u9879\u76ee\u3002\u6b64\u6587\u4ecb\u7ecdweb\u65e5\u5fd7\u6b63\u5219\u5339\u914d\u76f8\u5173\u5c0f\u63d0\u793a\u3002<\/p> \n

    \n
  1.  \u5b9e\u4f8b\u6d4b\u8bd5<\/strong><\/li> \n <\/ol> \n

    \u3000\u3000\u4ece\u7f51\u4e0a\u627e\u4e86\u4e00\u4e2aaccess\u65e5\u5fd7\u6848\u5217<\/p> \n

    218.19.140.242 - - [10\/Dec\/2010:09:31:17 +0800] "GET \/query\/trendxml\/district\/todayreturn\/month\/2009-12-14\/2010-12-09\/haizhu_tianhe.xml HTTP\/1.1" 200 1933 "-" "Mozilla\/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko\/20100722 Firefox\/3.6.8 (.NET CLR 3.5.30729)"<\/p> \n

    \u3000\u3000\u4e0b\u9762\u662fspark-shell\u4e2d\u6d4b\u8bd5\u4ee3\u7801\uff1a<\/p> \n

    \n
    val list = """218.19.140.242 - - [10\/Dec\/2010:09:31:17 +0800] "GET \/query\/trendxml\/district\/todayreturn\/month\/2009-12-14\/2010-12-09\/haizhu_tianhe.xml HTTP\/1.1" 200 1933 "-" "Mozilla\/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko\/20100722 Firefox\/3.6.8 (.NET CLR 3.5.30729)""""\r\nval logPattern <\/span>= """^(\\S+) (\\S+) (\\S+) \\[([\\w\/]+)([\\w:\/]+)\\s([+\\-]\\d{4})\\] "(\\S+) (\\S+) (\\S+)" (\\d{3}) (\\d+) "(\\S+)" "(.*?)"$""".r\r\nlogPattern.findFirstIn(list) match {\r\n<\/span>case<\/span> Some(logPattern(_*)) => true<\/span>\r\ncase<\/span> _ => false<\/span>\r\n}<\/span><\/pre> \n <\/div> \n 

    \u3000\u3000\u8f93\u51fa\u7ed3\u679c\uff1a<\/p> \n

    \n
    Boolean = true<\/span><\/pre> \n <\/div> \n 

    \u3000\u3000\u7ed3\u679c\u62a5\u9519\u4fee\u6539\u65b9\u5f0f\uff0c\u5220\u9664\u90e8\u5206\u9879\u76ee\u5177\u4f53\u6d4b\u8bd5\u54ea\u4e00\u9879\u6b63\u5219\u51fa\u95ee\u9898\uff1a<\/p> \n

    \n
    val list = """218.19.140.242 - - [10\/Dec\/2010:09:31:17 +0800]"""\r\nval logPattern <\/span>= """^(\\S+) (\\S+) (\\S+) \\[([\\w\/]+)([\\w:\/]+)\\s([+\\-]\\d{4})\\]$""".r\r\nlogPattern.findFirstIn(list) match {\r\n<\/span>case<\/span> Some(logPattern(_*)) => true<\/span>\r\ncase<\/span> _ => false<\/span>\r\n}<\/span><\/pre> \n <\/div> \n 

     <\/p> \n

    \u3000\u30002. web\u65e5\u5fd7\u683c\u5f0f<\/strong><\/p> \n

     <\/p> \n

    \u3000\u3000\u5c06\u65e5\u5fd7\u8fdb\u884c\u62c6\u5206\uff1a<\/p> \n

    \uff081\uff09218.19.140.242        \/\/\u5ba2\u6237\u7aefip<\/p> \n

    \uff082\uff09-            \/\/\u6807\u6ce8\u8bbf\u95ee\u8005\u7684\u6807\u8bc6\uff0c-\u8868\u793a\u7a7a\u767d<\/p> \n

    \uff083\uff09-          \/\/\u8bb0\u5f55\u7528\u6237HTTP\u7684\u8eab\u4efd\u9a8c\u8bc1<\/p> \n

    \uff084\uff09[10\/Dec\/2010:09:31:17 +0800]        \/\/\u8bb0\u5f55\u8bf7\u6c42\u7684\u65f6\u95f4\uff0c+0800\u8868\u793a\u670d\u52a1\u5668\u6240\u5904\u65f6\u533a\u4e3a\u4e1c\u516b\u533a<\/p> \n

    \uff085\uff09"GET \/query\/trendxml\/district\/todayreturn\/month\/2009-12-14\/2010-12-09\/haizhu_tianhe.xml HTTP\/1.1"          \/\/GET\u8bf7\u6c42\uff0c\u8bf7\u6c42\u7684\u8d44\u6e90\u8def\u5f84\uff0c\u534f\u8bae\u4e3aHTTP\/1.1<\/p> \n

    \uff086\uff09200    \/\/\u72b6\u6001\u7801<\/p> \n

    \uff087\uff091933     \/\/\u6570\u636e\u91cf<\/p> \n

    \uff088\uff09"-"    \/\/<\/p> \n

    \uff089\uff09"Mozilla\/5.0 (Windows......."    \/\/\u8bb0\u5f55\u5ba2\u6237\u7aef\u7684\u6d4f\u89c8\u5668\u4fe1\u606f<\/p> \n

    \u3000\u30003. scala\u6b63\u5219\u5339\u914d<\/strong><\/p> \n

     ^      \u5339\u914d\u5f00\u59cb<\/p> \n

    $       \u5339\u914d\u7ed3\u675f<\/p> \n

    \\S+   \u5339\u914d\u4efb\u610f\u7a7a\u767d\u5b57\u7b26<\/p> \n

    \\[([\\w\/]+)([\\w:\/]+)\\s([+\\-]\\d{4})\\]  \u5339\u914d\u65f6\u95f4<\/p> \n

     \\d{3}       \u5339\u914d\u4e09\u4e2a\u6570\u5b57<\/p> \n

    \\d+       \u5339\u914d\u591a\u4e2a\u6570\u5b57<\/p> \n

    \u60f0\u6027\u5339\u914d(.*?)<\/p> \n

    1\u3001. \u5339\u914d\u4efb\u610f\u9664\u6362\u884c\u7b26\u201c\\n\u201d\u5916\u7684\u5b57\u7b26\uff1b
    2\u3001*\u8868\u793a\u5339\u914d\u524d\u4e00\u4e2a\u5b57\u7b260\u6b21\u6216\u65e0\u9650\u6b21\uff1b
    3\u3001+\u6216*\u540e\u8ddf\uff1f\u8868\u793a\u975e\u8d2a\u5a6a\u5339\u914d\uff0c\u5373\u5c3d\u53ef\u80fd\u5c11\u7684\u5339\u914d\uff0c\u5982*\uff1f\u91cd\u590d\u4efb\u610f\u6b21\uff0c\u4f46\u5c3d\u53ef\u80fd\u5c11\u91cd\u590d\uff1b
    4\u3001 .*? \u8868\u793a\u5339\u914d\u4efb\u610f\u6570\u91cf\u7684\u91cd\u590d\uff0c\u4f46\u662f\u5728\u80fd\u4f7f\u6574\u4e2a\u5339\u914d\u6210\u529f\u7684\u524d\u63d0\u4e0b\u4f7f\u7528\u6700\u5c11\u7684\u91cd\u590d\u3002<\/span>
    <\/span><\/span><\/p> \n

     <\/p> \n

    \u53c2\u8003\u6587\u732e\uff1a<\/p> \n

    1.https:\/\/www.douban.com\/note\/325691248\/<\/a><\/p> \n

    2.https:\/\/www.runoob.com\/scala\/scala-regular-expressions.html<\/a><\/p> \n

    3.https:\/\/blog.csdn.net\/qq_37699336\/article\/details\/84981687<\/p> \n

     <\/p> \n<\/div>","orderid":"0","title":"spark\u9488\u5bf9web\u65e5\u5fd7\u6b63\u5219\u5339\u914d","smalltitle":"","mid":"0","fname":"Scala","special_id":"0","bak_id":"0","info":"0","hits":"131","pages":"1","comments":"0","posttime":"2019-09-03 03:46:53","list":"1567453613","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"spark<\/A> \u9488\u5bf9<\/A> web<\/A> \u65e5\u5fd7<\/A> \u6b63\u5219<\/A> \u5339\u914d<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"120.229.33.54","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"spark\u9488\u5bf9web\u65e5\u5fd7\u6b63\u5219\u5339\u914d","lastview":"1714096226","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}