正则表达式,用于匹配c#中除二进制数以外的任何内容

本文关键字:二进制数 任何内 用于 正则表达式 | 更新日期: 2023-09-27 18:13:49

我想检查字符串是否只包括0s1s,而不包括其他内容。如果它包括01以外的任何东西,我想抓住它。即使单个字符与01不同。

我写了下面的正则表达式,但它似乎没有捕获任何东西。

private static int bin(string binaryNumber) {
    Regex rgx = new Regex(@"^[a-zA-Z2-9'p{P}'p{S}'s,]*$");
    if (rgx.IsMatch(binaryNumber)) {
        Console.WriteLine("Binary number should include only 0 and 1");
    }
    // rest removed for brevity
}

任何想法?

正则表达式,用于匹配c#中除二进制数以外的任何内容

试试这个

Regex rgx = new Regex(@"[^01]+$");
Regex rgx = new Regex(@"^[01]+$");

与其这样,不如试着逆一下。

检查binaryNumber是否只匹配二进制数的Regex。

private static int bin(string binaryNumber) {
  Regex rgx = new Regex(@"^[01]+$");
  if (!rgx.IsMatch(binaryNumber)) {
    Console.WriteLine("Binary number should include only 0 and 1");
  }
  // rest removed for brevity
}

Try

^[01]*$

接受任意数目的数字,包括无。

^[01]+$

接受一个或多个数字。