XX + XX的正则表达式

时间:2013-09-20 01:30:44

标签: c# regex textbox

任何人都可以帮我解决这个问题的正则表达式:

AB + CD

我试过这个公式[A-Z] [A-Z] + [A-Z] [A-Z],但它返回错误匹配

任何?

2 个答案:

答案 0 :(得分:8)

您需要转义+

[A-Z][A-Z] \+ [A-Z][A-Z] 

也会更好地写成:

[A-Z]{2} \+ [A-Z]{2}

答案 1 :(得分:0)

查看http://txt2re.com/,它非常易于使用,并且还会以所需的语言吐出代码(尽管它确实夸大了丑陋,但很容易清理)。以下C#中的特定查询示例。

using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      string txt="AB + CD";

      string re1="([a-z])"; // Any Single Word Character (Not Whitespace) 1
      string re2="([a-z])"; // Any Single Word Character (Not Whitespace) 2
      string re3="(\\s+)";  // White Space 1
      string re4="(\\+)";   // Any Single Character 1
      string re5="(\\s+)";  // White Space 2
      string re6="([a-z])"; // Any Single Word Character (Not Whitespace) 3
      string re7="([a-z])"; // Any Single Word Character (Not Whitespace) 4

      Regex r = new Regex(re1+re2+re3+re4+re5+re6+re7,RegexOptions.IgnoreCase|RegexOptions.Singleline);
      Match m = r.Match(txt);
      if (m.Success)
      {
            String w1=m.Groups[1].ToString();
            String w2=m.Groups[2].ToString();
            String ws1=m.Groups[3].ToString();
            String c1=m.Groups[4].ToString();
            String ws2=m.Groups[5].ToString();
            String w3=m.Groups[6].ToString();
            String w4=m.Groups[7].ToString();
            Console.Write("("+w1.ToString()+")"+"("+w2.ToString()+")"+"("+ws1.ToString()+")"+"("+c1.ToString()+")"+"("+ws2.ToString()+")"+"("+w3.ToString()+")"+"("+w4.ToString()+")"+"\n");
      }
      Console.ReadLine();
    }
  }
}