我需要C#的正则表达式,可以匹配以下模式
abc1abcd
1abcdefg
abcdefg1
基本上我的表达式应该至少有一个数字,最小长度为8个字符(包括数字)。如果可能,还请解释正则表达式。
请您参考如下方法:
您的正则表达式模式应为:\d+(匹配1个或多个数字)。对于您的示例,最好不要使用正则表达式来确定最小长度,因为您所关心的只是它具有至少1个数字且至少8个字符
Regex regEx = new Regex(@"\d+");
isValid = regEx.Match(myString).Success && myString.Length >= 8;
模式
\d与
[0-9]相同,并且
+符号表示
at least one of。字符串前面的
@符号是试图转义
\d的符号。
正如El Ronnoco在评论中提到的,只需
\d即可满足您的要求。了解
\d+对于更复杂的模式很有用,因为您需要在一些字符串之间添加一些数字,等等。
另外:我刚刚读了一些我不知道的东西。
\d匹配
Unicode number, decimal digit类别中的任何字符,而不仅仅是
[0-9]。如果您只想要任何数字,请注意一些事情。否则,El Ronnoco对您的模式的
[0-9]答案就足够了。
