noc*_*ier 30 c# regex validation
我写了一个正则表达式,它应该使用以下规则验证字符串:
所以如果字符串有效,字符串应如下所示:
CCCCNNNNNN或CCCCNNNNNNN
C是任何字符,N是数字.
我的表达写道: @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
我的正则表达式匹配代码如下所示:
var cc1 = "FOOBAR"; // should fail.
var cc2 = "AAAA1111111111"; // should succeed
var regex = @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";
Match match = Regex.Match( cc1, regex, RegexOptions.IgnoreCase );
if ( cc1 != string.Empty && match.Success )
{
//"The Number must start with 4 letters and contain no numbers.",
Error = SeverityType.Error
}
Run Code Online (Sandbox Code Playgroud)
我希望有人可以看看我的表达,并提供一些改进的反馈,以产生有效的匹配.
我也.Match()正确使用了吗?如果Match.Success是true,那是否意味着字符串有效?
dtb*_*dtb 60
4个字母数字字符的正则表达式后跟6到7个十进制数字:
var regex = @"^\w{4}\d{6,7}$";
Run Code Online (Sandbox Code Playgroud)
请参阅:正则表达式语言 - 快速参考
该Regex.Match方法返回一个匹配对象.在成功物业表示是否匹配成功与否.
var match = Regex.Match(input, regex, RegexOptions.IgnoreCase);
if (!match.Success)
{
// does not match
}
Run Code Online (Sandbox Code Playgroud)
小智 6
以下代码使用正则表达式并检查 4 种不同的模式来测试它,请参阅下面的输出:
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
var p1 = "aaaa999999";
CheckMatch(p1);
p1 = "aaaa9999999";
CheckMatch(p1);
p1 = "aaaa99999999";
CheckMatch(p1);
p1 = "aaa999999";
CheckMatch(p1);
}
public static void CheckMatch(string p1)
{
var reg = new Regex(@"^\w{4}\d{6,7}$");
if (!reg.IsMatch(p1))
{
Console.WriteLine($"{p1} doesn't match");
}
else
{
Console.WriteLine($"{p1} matches");
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
aaaa999999 匹配
aaaa9999999 匹配
aaaa99999999 不匹配
aaa999999 不匹配
尝试使用DotNetFiddle
以下代码演示了正则表达式的用法:
var cc1 = "FOOBAR"; // should fail.
var cc2 = "AAAA1111111"; // should succeed
var r = new Regex(@"^[0-9a-zA-Z]{4}\d{6,7}$");
if (!r.IsMatch(cc2))
{
Console.WriteLine("cc2 doesn't match");
}
if (!r.IsMatch(cc1))
{
Console.WriteLine("cc1 doesn't match");
}
Run Code Online (Sandbox Code Playgroud)
输出将是cc1 doesn't match.
| 归档时间: |
|
| 查看次数: |
79518 次 |
| 最近记录: |