Предположим, что максимальный IP может содержать максимальное число 999 в каждой «точечной» скобке, т. Е. 999.999.999.999 - самый большой доступный.
Я проверил регулярное выражение ([0-9] +.) {3} [0-9] в калькуляторе. Итак, почему программа выдает ошибку «разбора» во время выполнения? ([0-9] +.) {3} [0-9] "- Квантификатор {x, y}, следующий за ничего."?Pseudo-IPv4 regex
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();
}
}
}
Official help page не было так полезно для меня.
«Список запросов» содержимое файла:
Reply from 212.77.100.101 www.wp.pl time: 21:37 Reply from 111.41.130.55 www.dupa.pl time: 05:33 Reply from 230.77.100.101 www.whatanannoyingbug.com time: 04:12 Reply from 65.77.100.101 www.foooo.org time: 12:55 Reply from 200.77.100.101 www.example.com time: 07:56
Я хотел бы сделать это, только если это может быть важно, чтобы правильно прочитать файл, потому что это гораздо больше и труднее читать, чем более простая версия. YMMV. –