我想用正則表達式來使用一條線,但我不知道正則表達式是如何工作的。正則表達式URL解析
這是我現在使用的模式,
^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*?"(.*?/p/.*?,\d+,(\d+).*?)" "(\d+)" "(\d+)".*$
的樣本行我會pharse使用模式。
124.99.152.202 - naveen [22/Nov/2013:10:41:17 +1300] "GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078,888888888888888/FOLDER-NUMBER/i-dont-need-this-folder/nope/12.txt HTTP/1.1" "200" "8" "-" "Mozilla/5.0" "-"
現在的問題是我需要從上面的採樣線獲得一點信息。
「GET/P/V4ZkA5d074CTy_vbFa7nLw,1385070078,888888888888888/FOLDER-NUMBER /12.txt HTTP/1.1」
我如何獲得這個FOLDER-NUMBER整數值?
我試過,但我不知道如何過濾出來,Regex Fiddle
^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*?"(.*?/p/.*?,\d+,(\d+)/**FOLDER-NUMBER**/.*?)" "(\d+)" "(\d+)".*$
這看起來像一個Web服務器日誌。微軟公司生產了一款叫做LogParser的GREAT產品,可以讓你在日誌文件上運行各種解析方案。 –
是的,這是一個Linux服務器日誌。謝謝,但我會解析使用PHP。 :) –
是你想要的文件夾號碼總是相同數量的文件夾深? '/ P/XXXX/what_you_want'?或者有時是不同的(在這種情況下,你會發現這更具挑戰性)? – brandonscript