プログラムで、 の値がまたはのappGUID
いずれかであるすべての行を破棄したいと考えています。正規表現を使用してこれを達成するにはどうすればよいですか?wx
null
それが正規表現パターンであることを理解できません。助けてください。
私のログファイルの形式は次のとおりです。
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3494430 Server: yukon.corp.adobe.com User:xinche appGUID: null
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3494430 Server: yukon.corp.adobe.com User:xinche appGUID: null
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3494430 Server: yukon.corp.adobe.com User:xinche appGUID: null
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3419432 Server: yukon.corp.adobe.com User:prerelease appGUID: fcdd2153-bbdf
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3419432 Server: yukon.corp.adobe.com User:prerelease appGUID: fcdd2153-bbdf
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3419422 Server: yukon.corp.adobe.com User:prerelease appGUID: fcdd2153-bbdf
INFO [com.adobe.watson.vo.BugServices] WX Edit Bug: 3419442 Server: yukon.corp.adobe.com User:prerelease appGUID: fcdd2153-bbdf
INFO [com.adobe.watson.vo.BugServices] WX New Bug: 3494441 Server: yukon.corp.adobe.com User:bey81694 appGUID: wx
INFO [com.adobe.watson.vo.BugServices] WX New Bug: 3494441 Server: yukon.corp.adobe.com User:bey81694 appGUID: wx
INFO [com.adobe.watson.vo.BugServices] WX New Bug: 3494441 Server: yukon.corp.adobe.com User:bey81694 appGUID: wx
私のコードはここにあります:
StreamReader reader = new StreamReader(@"C:\Users\karansha\Desktop\Karan Logs\20110717.txt");
string x = reader.ReadToEnd();
List<string> users = new List<string>();
Regex regex = new Regex(@"appGUID:\s*(?<value>.*?)\s");
MatchCollection matches = regex.Matches(x);
foreach (Match match in matches)
{
var user = match.Groups["value"].Value;
if (!users.Contains(user)) users.Add(user);
}