【问题标题】:Regular expression query正则表达式查询
【发布时间】:2011-09-06 18:42:33
【问题描述】:

我正在寻找以下计算的正则表达式。

0-9 a-Z A-Z - / '

【问题讨论】:

    标签: c# regex c#-4.0


    【解决方案1】:

    这个模式的 C# 版本是:

    @"[0-9a-zA-Z/'-]"
    

    在代码中使用:

    var regex = new Regex(@"[0-9a-zA-Z/'-]");
    

    var regex = new Regex(@"[0-9a-z/'-]", RegexOptions.IgnoreCase);
    

    请注意,- 位于字符类的最末端(括号中的部分)。对于- 表示字符类中的文字连字符,它必须位于类的开头或结尾(即[-blah][blah-]),或者用反斜杠转义:[ab\-c] 将匹配abc-

    还要注意引号字符串开头的@。这对于这种模式并不重要,但是使用 C# 正则表达式是一个好习惯。正则表达式通常包含反斜杠,@"..." 表单将允许您在模式中使用反斜杠而无需转义它们。

    【讨论】:

      【解决方案2】:

      使用以下代码验证(正则表达式模式)字母和数字:

      String name="123ABCabc";
      
      if(System.Text.RegularExpressions.Regex.Match(name, @"[0-9a-zA-Z_]") == true)
      {
        return true;
      }
      else 
      {
         return false;
      }
      

      【讨论】:

        【解决方案3】:

        如果您想匹配数字、小写和大写拉丁字符、“-”、“/”和“'”,那么我建议如下:

        [0-9a-zA-Z-\/\']
        

        【讨论】:

        • 记得转义反斜杠或使用逐字字符串文字@"..."
        • ...或者去掉反斜杠。 /' 在正则表达式中都没有任何特殊含义。 - 可能没问题(不同的口味有不同的规则),但无论如何我都会把它移到最后,以消除任何关于它应该匹配文字连字符的疑问。
        猜你喜欢
        • 1970-01-01
        • 2021-08-18
        • 2017-10-10
        • 2020-10-26
        • 2015-09-23
        • 1970-01-01
        • 2019-08-20
        相关资源
        最近更新 更多