繁体   English   中英

正则表达式模式-字母数字

[英]Regex Pattern - Alphanumeric

[用户名]其中,用户名是仅包含1到12个字符之间的字母数字字符的任何字符串

我的代码:

Regex pat = new Regex(@"\[[a-zA-Z0-9_]{1,12}\]");
MatchCollection matches = pat.Matches(accountFileData);
foreach (Match m in matches)
{
    string username = m.Value.Replace("[", "").Replace("]", "");
    MessageBox.Show(username);
}

给我一场空白比赛

这可以使您在方括号内命名(匹配项不包含方括号符号):

(?<=\[)[A-Za-z0-9]{1,12}(?=\])

您可以像这样使用它:

Regex pat = new Regex(@"(?<=\[)[A-Za-z0-9]{1,12}(?=\])");
MatchCollection matches = pat.Matches(accountFileData);
foreach (Match m in matches)
{
    MessageBox.Show(m.Value);
}

您的括号过多,可能要匹配字符串的开头( ^ )和结尾( $ )。

^[a-zA-Z0-9]{1,12}$

如果期望匹配的字符串中包含方括号,请使用反斜杠将其转义。

\[[a-zA-Z0-9]{1,12}\]

// In C#
new Regex(@"\[[a-zA-Z0-9]{1,12}\]")

您的括号过多。

[a-zA-Z0-9]{1, 12}

如果您要匹配括号,则需要正确地将其转义:

\[[a-zA-Z0-9]{1, 12}\]

暂无
暂无

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

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