繁体   English   中英

使用正则表达式验证C#中的输入格式

[英]using regex to validate input formatting in C#

这是一个超级基本的问题(我今天脑死了):

如何使用正则表达式验证输入,以查看:1)输入是否为某种形式2)如果输入是全部大写(只是将输入转换为大写不可行)

我想要确保我的输入格式为XX_XX。 这就是我所拥有的:

public bool IsKosher(string input)
{
    Regex r = new Regex(input);
    if(r.Matches([A-Z]_[A-Z]))
    {
        return true;
    }
    return false;     
}

任何想法为什么它不编译?

谢谢!

您缺少双引号,将参数放在错误的位置,并且您不需要if语句:

public bool IsKosher(string input) {
    return Regex.IsMatch(input, "[A-Z]{2}_[A-Z]{2}");
}

行情? 缺少右括号? 匹配没有返回布尔值? 交换字符串参数? 所有这些都会导致您的代码无法编译。

如果它是“XX_XX”,你可能想要这个:

var r = new Regex("[A-Z]{2}_[A-Z]{2}");
return r.IsMatch(input);

你必须把[AZ] _ [AZ]放在引号之间,如下所示:

if(r.Matches("[A-Z]_[A-Z]")
  1. 行情。
  2. _两边有两个字符。
  3. 正则Regex构造函数采用该模式; Matches方法接受字符串搜索。
  4. Matches方法返回MatchCollection IsMatch返回一个布尔值。

像这样:

if (Regex.IsMatch(input, "[A-Z]{2}_[A-Z]{2}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM