こんにちは私は私のアプリケーションでC#を使用してログファイル(テキストファイル)を読んでいます、そして私は日付を使ってログファイルを読んでいます。また、日付ごとに例外を取得するための正規表現形式を作成しました。
現在、この正規表現形式を正常に使用して例外を取得していますが、例外行を正しく取得できません。以下の正規表現形式を使用するときに、例外行の最後の文字が欠落しています。この行で私が間違ったことを教えてください。例外の完全な行を取得するための解決策を誰かに教えてもらえますか?
前もって感謝します。
私のコードは次のとおりです。
var matches = Regex.Matches(sb.ToString(), @"(?<date>\d{4}\-\d{2}\-\d{2})\s(?<message>(.(?!\d{4}\-\d{2}\-\d{2}))+)");
私のtxtファイルは次のようになります
2012-06-21 04:35:30,177|| [5]|| DEBUG|| GID.AAFramework.Shared.LdapAuthentication.PrincipleImpl|| PrincipleImpl: IsInRole(string role)- Entered
2012-06-21 04:35:30,177|| [5]|| DEBUG|| GID.AAFramework.Shared.LdapAuthentication.PrincipleImpl|| PrincipleImpl: IsInRole(string role)- IsInRole(ADMINUSER)
results : True
私のログファイルでは、すべての行が日付で始まりますが、一部の行ではメッセージが長すぎるため、次の行になります。ファイルが日付で始まることを読みたいということは、そのメッセージで始まる行を見逃していることを意味します。