我想编写一个自定义正则表达式,其格式类似于XYZ-ABC-001 其中
答案 0 :(得分:2)
这将匹配:
XYZ-[a-zA-Z]{3}-\d+
答案 1 :(得分:0)
DIY套件:http://txt2re.com/
示例:http://txt2re.com/index-csharp.php3?s=XYZ-ABC-001&4&22&23&24&-17&-18&14&15&16
C#输出结果:
string txt="XYZ-ABC-001";
string re1="((?:[a-z][a-z]+))"; // Word 1 string re2="(-)"; // Any Single Character 1 string re3="(.)"; // Any Single Character 2 string re4="(.)"; // Any Single Character 3 string re5="(.)"; // Any Single Character 4 string re6="(-)"; // Any Single Character 5 string re7="(\\d)"; // Any Single Digit 1 string re8="(\\d)"; // Any Single Digit 2 string re9="(\\d)"; // Any Single Digit 3 Regex r = new Regex(re1+re2+re3+re4+re5+re6+re7+re8+re9,RegexOptions.IgnoreCase|RegexOptions.Singleline); Match m = r.Match(txt); if (m.Success) { String word1=m.Groups[1].ToString(); String c1=m.Groups[2].ToString(); String c2=m.Groups[3].ToString(); String c3=m.Groups[4].ToString(); String c4=m.Groups[5].ToString(); String c5=m.Groups[6].ToString(); String d1=m.Groups[7].ToString(); String d2=m.Groups[8].ToString(); String d3=m.Groups[9].ToString(); Console.Write("("+word1.ToString()+")"+"("+c1.ToString()+")"+"("+c2.ToString()+")"+"("+c3.ToString()+")"+"("+c4.ToString()+")"+"("+c5.ToString()+")"+"("+d1.ToString()+")"+"("+d2.ToString()+")"+"("+d3.ToString()+")"+"\n"); }
string re1="((?:[a-z][a-z]+))"; // Word 1 string re2="(-)"; // Any Single Character 1 string re3="(.)"; // Any Single Character 2 string re4="(.)"; // Any Single Character 3 string re5="(.)"; // Any Single Character 4 string re6="(-)"; // Any Single Character 5 string re7="(\\d)"; // Any Single Digit 1 string re8="(\\d)"; // Any Single Digit 2 string re9="(\\d)"; // Any Single Digit 3 Regex r = new Regex(re1+re2+re3+re4+re5+re6+re7+re8+re9,RegexOptions.IgnoreCase|RegexOptions.Singleline); Match m = r.Match(txt); if (m.Success) { String word1=m.Groups[1].ToString(); String c1=m.Groups[2].ToString(); String c2=m.Groups[3].ToString(); String c3=m.Groups[4].ToString(); String c4=m.Groups[5].ToString(); String c5=m.Groups[6].ToString(); String d1=m.Groups[7].ToString(); String d2=m.Groups[8].ToString(); String d3=m.Groups[9].ToString(); Console.Write("("+word1.ToString()+")"+"("+c1.ToString()+")"+"("+c2.ToString()+")"+"("+c3.ToString()+")"+"("+c4.ToString()+")"+"("+c5.ToString()+")"+"("+d1.ToString()+")"+"("+d2.ToString()+")"+"("+d3.ToString()+")"+"\n"); }
然后,您可以稍微修改它以根据您的需要进行调整,例如将替换为
(.)
。