在C#中连接正则表达式模式

时间:2013-02-12 18:00:36

标签: regex c#-3.0

我有一个C#项目,要求我从html流中捕获一个字符串值。

我需要匹配的模式是:

XXXX-abc  

其中:

XXXX = a 4 character integer  

然后是 -

abc =  a 3 character alphanumeric.  

我看了txt2re.com并得到了

  string re1="(\\d)";   // Any Single Digit 1  
  string re2="(\\d)";   // Any Single Digit 2
  string re3="(\\d)";   // Any Single Digit 3
  string re4="(\\d)";   // Any Single Digit 4
  string re5="(-)"; // Any Single Character 1
  string re6="((?:[a-z][a-z]*[0-9]+[a-z0-9]*))";    // Alphanum 1

我遇到的困难是将它组合成一个表达式而不是6个表达式。 我知道我能做到:

Regex r = new Regex(re1+re2+re3+re4+re5+re6,RegexOptions.IgnoreCase|RegexOptions.Singleline);

然而,我的OCD对这种方法感到不满:)

1 个答案:

答案 0 :(得分:1)

您可以使用表达式\d{4}-\w{3} 4位数后跟 - 后跟3个字母数字字符。 Here是一个测试和了解常规表达的好网站。