2016-12-22 7 views
1

"Exception_type"フィールドに例外をロードして、アプリケーションに表示できるようにしようとしています。私は正規表現を持っていますが、私にはマルチパイルマッチグループを与えています。私が必要とするのは、 "Exception_type"フィールドの完全なメッセージです。正規表現を使用して完全なメッセージを抽出できません

正規表現:

(?<Exception_type>[a-zA-Z]+.*[^,]*[^ ,][^,]*$) 

メッセージ:

2016-12-22 14:06:00.4563 System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:30030 
    at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 
    at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) 
    --- End of inner exception stack trace --- 
    at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context) 
    at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) 
    --- End of inner exception stack trace --- 
    at Vinod.MyPos.MyProject.MySubProject.Vendor.Communicator.VendorSaleRequestHandler.<Send>d__13.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at Vinod.MyPos.MyProject.MySubProject.Vendor.Communicator.VendorSaleRequestHandler.<Handle>d__12.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at Vinod.MyPos.MyProject.MySubProject.Vendor.Communicator.VendorServiceCommunicator.<Send>d__4.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Vinod.MyPos.MyProject.MySubProject.Logging.LoggingMySubProjectChildMessageProcessor.<ProcessMessage>d__4.MoveNext() MySubProject ProcessMessage Exception : client token : [c7b9396d-b790-43f5-9561-f01c6dcdddce] 
+1

達成したいことは何ですか?予想される出力は何ですか? –

+0

フィールド内に開始から終了まで(日付スタンプなし)、メッセージ全体を持つ必要があります。Exception_type – Vinod

+0

メッセージとともに例外名が必要な場合は、次の正規表現を試してください: '(\ w + \。)* \ w + Exception: [a-zA-Z] + \ s([a-zA-Z] + \)?)* ' – rafid059

答えて

0

あなたは

(?s)^\S+\s+\S+\s+(?<Exception_type>.*$) 

regex demo

^\S+\s+\S+\s+試合最初の2を参照してくださいを使用することができます1+空白と残りの部分と分離されたテキストの非空白チャンクがGUIDを削除するにはグループ1

を撮影している、あなたは第二のステップを使用する必要があります:

\b[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}\b 

regex demoを参照してください。空の文字列に置き換えます。

ここで、\bはワード境界であり、[a-fA-F0-9]は16進文字に一致します。

関連する問題