111,125
社区成员
发帖
与我相关
我的任务
分享 string str = "87837,12345,45678";
var result = Regex.Matches(str, @"(?(\d{5}(?=,|$))\d*?(8)[^\1]*?\1[^\1,]*)").OfType<Match>().Where(a=>!string.IsNullOrEmpty(a.Value)).Select(a=>a.Value);
string numstr = "87837,12345,45678,68844";
MatchCollection mc = Regex.Matches(numstr, @"\d{5}");
foreach (Match mcnum in mc)
{
string num = mcnum.Value;
if (num.ToCharArray().Where(x => x.ToString() == "8").Count() == 2)
{
Console.WriteLine(mcnum.Value);
}
}
void Main()
{
string str="87837,12345,45678,114818";
Regex reg=new Regex(@"^(?!([0-7]|9)+$)^(?!8+$)(?!([0-7]|9)*8([0-7]|9)*$)(?!(([0-7]|9)*8){3}([0-7]|9)*$)(?!(([0-7]|9)*8){4}([0-7]|9)*$)\d{5}$");
foreach(string s in str.Split(','))
Console.WriteLine("{0} --- {1}",s,reg.IsMatch(s));
}void Main()
{
int[] ary=new int[]{87837,12345,45678,112481824};
Regex reg=new Regex(@"^(?!([0-7]|9)+$)^(?!8+$)(?!([0-7]|9)*8([0-7]|9)*$)(?!([0-7]|9)*8([0-7]|9)*8([0-7]|9)*8([0-7]|9)*$)(?!([0-7]|9)*8([0-7]|9)*8([0-7]|9)*8([0-7]|9)*8([0-7]|9)*$)\d{5}$");
foreach(int i in ary)
Console.WriteLine("{0} --- {1}",i,reg.IsMatch(i.ToString()));
/*
87837 --- True
12345 --- False
45678 --- False
112481824 --- False
*/
}