正则表达式C#issue(下划线)

时间:2016-11-10 22:23:39

标签: c# regex validation

我怎样才能制作一个正则表达式,让我强制使用强制下划线" _"在一串字符的任何位置。

我最初的正则表达式是:^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{1,5}$ 这意味着:大小写字母和小数位数。我试图像这样逃避下划线:\ _

匹配的条件是: 必填:大写字母,小写字母,下划线" _" 可选:数字(十进制数字)

样本匹配字符串:

  

_Hola

     

H_o1a

     

Ho_l3

     

H0l_a

     

HOLA _

1 个答案:

答案 0 :(得分:0)

public static bool TryMatchWithRegex(string txt, out string result)
{
    result = string.Empty;
    // Mandatory= underscore, lowercase, uppercase
    string pattern = @"^(?=.*_)(?=.*[a-z])(?=.*[A-Z]).*$";
    Regex regex = new Regex(pattern, RegexOptions.None);
    Match match = regex.Match(txt);
    if (match.Success)
    {
        result = match.Value;
        return true;
    }
    return false;
}