c# 写一个方法生成数值范围验证正则表达式 范围1到x,x为1到1000
时间: 2024-12-19 08:24:37 浏览: 3
测试正则表达式和格式化字符串源代码+GUID生成工具(C#)
4星 · 用户满意度95%
在C#中,你可以创建一个方法来生成一个正则表达式,用于验证数字是否在指定范围内。例如,如果你想让输入的数在1到1000之间,你可以按照以下步骤编写:
```csharp
using System.Text.RegularExpressions;
public static string GenerateValidationRegex(int maxRange)
{
// 确保maxRange在1到1000之间
if (maxRange < 1 || maxRange > 1000)
throw new ArgumentException("Max range must be between 1 and 1000.");
// 构造正则表达式,匹配1到maxRange之间的整数
string pattern = @"^[1-" + maxRange.ToString() + "]";
return pattern;
}
// 示例用途
string regexPattern = GenerateValidationRegex(1000);
Regex validationRegex = new Regex(regexPattern);
// 使用正则表达式检查输入是否符合要求
bool isValidNumber = validationRegex.IsMatch("500"); // 返回true
bool isValidTooBig = validationRegex.IsMatch("1001"); // 返回false
```
这个方法会生成一个正则表达式,其模式是`^1-[0-9]{3}$`(如果你的`maxRange`恰好是三位数)。如果`maxRange`小于10,那么它将只包含`^1-$`部分。
阅读全文