这是我之前提出的问题的后续行动......并不是完全相关的,但有点是..
我正在使用Visual C#来实现我的目的..
请考虑我的日志文件中的以下条目 -
117.200.80.190 "2009-08-09 00:44:38 " "GET /admintools/openx-2.8.1/afr.php" 200 528 "http://www.enggresources.com/comedk/comedk_mock_counselling.php" "Mozilla/4.0"
59.92.139.141 - - "2009-08-09 00:56:50 " "GET /resources/ HTTP/1.1" 302 20 "http://www.enggresources.com/placements/index.php" "Mozilla/5.0 "
- 我想从第一个条目中提取“admintools”和“comedk”。
- 来自第二个条目的“资源”和“展示位置”。
- 来自第三个条目的“home”和“NULL”。
- 这些是样本条目,我在日志文件中有类似的数千..
一旦我从每一行中提取每一对,我希望能够计算整个文件中对的出现次数。
答案 0 :(得分:0)
随意使用我的StringReader。
string line = textReader.ReadLine();
var reader = new StringReader(line);
while (line != null)
{
var ip = reader.ReadWord();
reader.SkipWhitespaces();
var date = reader.ReadQuotedString();
reader.SkipWhitespaces();
var uri = reader.ReadQuotedString();
reader.ReadUntil('"');
var uri2 = reader.ReadQuotedString();
line = textReader.ReadLine();
reader.Assign(line);
}
答案 1 :(得分:0)
@"\"GET\s+/([^/]+)/\S*(?:\s+HTTP/1\.1)?\"\s+\d+\s+\d+\s+\"https?://www.enggresources.com/([^/]+)"
答案 2 :(得分:-1)
如果我是你,我会尝试使用正则表达式