假设最大 IP 可以在每个“点”括号中包含最大数量 999,即 999.999.999.999 是最大可用的。
我检查了计算器中的正则表达式 ([0-9]+.){3}[0-9]。那么,为什么程序会抛出运行时错误“parsing”?([0-9]+。){3}[0-9]” - 量词 {x,y} 无所事事。”?
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace RegExCs
{
class Program
{
static void Main(string[] args)
{
string rawData;
Regex filter = new Regex(@"?<ip>([0-9]+\.){3}[0-9]"); //run-time error
rawData=File.ReadAllText("Query list");
MatchCollection theMatches = filter.Matches(rawData);
foreach (Match theMatch in theMatches)
{
Console.WriteLine("ip: {0}\n",theMatch.Groups["ip"]);
}
Console.ReadKey();
}
}
}
官方帮助页面对我没有太大帮助。
“查询列表”文件内容:
来自 212.77.100.101 www.wp.pl 的回复时间:21:37 来自 111.41.130.55 www.dupa.pl 的回复时间:05:33 230.77.100.101 www.whatanannoyingbug.com 回复时间:04:12 来自 65.77.100.101 www.foooo.org 的回复时间:12:55 来自 200.77.100.101 www.example.com 的回复时间:07:56