用正则表达式测试特定的字符串

时间:2019-02-13 10:29:04

标签: c# visual-studio

我要用字符串数组测试dd / mm / yyyy xx-xxxx-x xxx-xxx形式的字符串,我用它来定义正则表达式形式,但我认为该格式未正确声明

Regex rgx1 = new Regex(@"^d{2}\/\d{2}\/\d{4}\t[A-Z]\d{2}\-\d{4}\-\[A-Z0-9]\d{1}\t[A-Z]\d{3}\-\[A-Z]\d{3}$");
Match FormatS = rgx1.Match(tab[i]);

if ( FormatS.Success)
{
    Console.WriteLine(tab[i]);
    Console.ReadLine();
}

1 个答案:

答案 0 :(得分:0)

根据您的带有示例输入的评论,此方法有效:

Regex rgx1 = new Regex(@"^\d{2}/\d{2}/\d{4}\s[A-Z]{2}-\d{4}-[A-Z0-9]{1}\s[A-Z]{3}-[A-Z]{3}$");

我发现的问题:

  • \[而不是[在两个地方
  • d而不是开始时的\d
  • \t而不是\s(或者也可以使用空格)
  • 一些不必要的\d

我还删除了一些不必要的转义标记,但是...这些无关紧要。