我使用这个模式,但我没有得到答案。Regex reg = new Regex(@"^([A-Za-z][A-Za-z0-9\.]*(?:[A-Za-z])){6,30}@mydomain.com$");
我希望我的字符串以字母开头,以字母结尾,以字母、数字和点组合而成,前提是它长在6到30个字符之间。
例如: a.124b@mydomain.com或abc.1e@mydomain.com和..。
发布于 2021-03-21 08:35:02
string pattern = @"^[a-z][a-z0-9.]{4,28}[a-z]@mydomain\.com$";
string input = @"a.124b@mydomain.com";
RegexOptions options = RegexOptions.IgnoreCase;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}现在的解释是:
^[a-z]开头,和一个字母[a-z0-9.]{4,28}字母、数字和点字符(在方括号中不需要转义),重复4到28次[a-z]另一个字母@mydomain\.com$其余的邮件地址和字符串结束。还请注意RegexOptions.IgnoreCase -当您知道您不关心大小写时,它会使字母组更易读
您在正则表达式中所做的错误是为您的完整捕获组添加了量词--这意味着重复整个组的6-30次。
我还建议您满足所有regex需要的https://regex101.com/。
发布于 2021-03-21 08:34:16
https://stackoverflow.com/questions/66730176
复制相似问题