【发布时间】:2022-01-22 05:27:31
【问题描述】:
我有以下方法:
public static bool isUeiFormatOK(string test)
{
string pattern = "[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]";
MatchCollection matches;
Regex regex = new Regex(pattern);
matches = regex.Matches(test);
if (matches.Count == 0)
return false;
return true;
}
这会验证一个字符串是 12 个字符并且包含数字或字母。
怎么说,其中一个字符必须是数字?
【问题讨论】:
-
你想匹配什么?您可以使用
[A-Za-z0-9]{12}简化此操作。您的意思是所有字符都必须是字母数字,但其中至少一个必须是数字? -
你可以断言一个数字
^(?=[A-Za-z]*[0-9])[A-Za-z0-9]{12}$ -
我还想说 12 个字符中的一个必须是数字,但其中任何一个都可以
-
如果您可以使用非英文字符,也可以使用
\w{12}。\w表示单词字符。您可以将[0-9]替换为\d -
@PanagiotisKanavos。是的,这就是我正在尝试的