В настоящее время я читаю файл журнала и вам нужно получить значение регистрационного номера, которое продолжает дату/время, и регулярное выражение соответствует текущей фразе. Кажется, моя проблема заключается в том, что мне нужно передать значение datetime() и номер записи() в той же группе. Я очень мало знаю о регулярном выражении, и любая помощь будет очень признательна. Мое приложение просматривает только каждые 15 минут в журнале, чтобы узнать, показалась ли эта ключевая формулировка, и почему есть lastFailTime
.Используйте regex для получения номера после даты из текстового файла в группу LINQ
Код:
string str = File.ReadAllText(file);
Regex regex = new Regex("(?<time>.+(AM|PM)).(?<after>[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]).*There was no endpoint listening");
var lastFailTime = File.ReadLines(file)
.Select(line => regex.Match(line))
.Where(m => m.Success) // take only matched lines
.Select(m => DateTime.Parse(m.Groups["time"].Value))
.DefaultIfEmpty() // DateTime.Min if no failures
.Max();
'line.Split() [3]'? –
Почему бы не создать класс, являющийся структурой текстового файла, затем проанализировать этот файл и присвоить поля класса соответствующим значениям .. тогда вы можете получить правильные значения даты независимо от того, что – MethodMan
@ L.B. У меня есть несколько регулярных выражений для этого проекта, потому что поставщик не обрабатывает исключения. Я смог получить дату/время и конкретную формулировку, но мое регулярное выражение для числа, следующего за датой, не получая значения. Я что-то упустил в своей структуре регулярных выражений? – clerktech