任何人都可以帮我解决这个问题的正则表达式:
AB + CD
我试过这个公式[A-Z] [A-Z] + [A-Z] [A-Z],但它返回错误匹配
任何?
答案 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();
}
}
}