string test =@"Source[123] = Target[4563] And Source[454543] = Target[983743] And Source[12343] = ""abc"" (Source[123] = Target[4563] Or Source[454543] = Target[983743]) And 123 = Target[34332]"; Regex reg =new Regex(@"(?i)(\(?Source\[(?<src>\d+)\]|(?<src>\S+))\s*=\s*(Target\[(?<tar>\d+)\]|(?<tar>\S+))"); MatchCollection mc = reg.Matches(test); foreach (Match m in mc) { richTextBox2.Text += m.Groups["src"].Value +"\n"; richTextBox2.Text += m.Groups["tar"].Value +"\n--------------------\n"; } /*-------输出------- 123 4563 -------------------- 454543 983743 -------------------- 12343 "abc" -------------------- 123 4563 -------------------- 454543 983743 -------------------- 123 34332 -------------------- */
转载于:https://www.cnblogs.com/wbydoc/articles/2704583.html