c#如何使用Regex.IsMatch检查每一行

McB*_*yte 3 c# regex multiline

我正在使用new Regex("(?m)^\S+ [A-Z]{1,3}$").IsMatch(sStringToCheck)检查多行字符串.

我的问题是,它似乎只是验证字符串的最后一行.

此列表通过:

  • ABC-12345-DEF A.
  • ABC-12345-DEF A 123
  • ABC-12345-DEF A.

此列表失败:

  • ABC-12345-DEF A.
  • ABC-12345-DEF A.
  • ABC-12345-DEF A 123

但是,我想两个都失败,因为每个都包含一个不匹配的行.

谢谢!

Jon*_*lis 5

bool match = sStringToCheck
            .Split(new string[] {Environment.NewLine}, StringSplitOptions.None)
            .Any(line => new Regex(@"^\S+ [A-Z]{1,3}$").IsMatch(line));
Run Code Online (Sandbox Code Playgroud)

将检查每一行.那是你的目标吗?