Skip to main content
 首页 » 编程设计

c#之正则表达式以匹配模式

2024年01月22日25lonelyxmas

我需要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]答案就足够了。