62,243
社区成员




string tempStr = File.ReadAllText(@"C:\Users\dell\Desktop\Test.txt",Encoding.GetEncoding("gb2312"));
string pattern = @"(?im)([^-\s]+(--)?)+(([^-\s]+)?-?)*";
foreach (Match m in Regex.Matches(tempStr, pattern))
{
string value = m.Value;
/*总共循环五次 上面五行全部匹配
search--category--ct1--cn1--nav1_10_1050
search--category--ct1--cn1--nav1_10_1050--ar1
search--category--ct1--cn1--nav1_10_1050--ar1-add1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1--p1
*/
}
string str = @"search--category--ct1--cn1--nav1_10_1050search--category--ct1--cn1--nav1_10_1050--ar1 search--category--ct1--cn1--nav1_10_1050--ar1-add1 search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1--p1";
Regex reg = new Regex(@"search--category--ct1--cn1--nav\d+(?:_\d+)*(?:--?(?:(?!search).)+)*");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Value+"\r\n");
/*
search--category--ct1--cn1--nav1_10_1050
search--category--ct1--cn1--nav1_10_1050--ar1
search--category--ct1--cn1--nav1_10_1050--ar1-add1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1
search--category--ct1--cn1--nav1_10_1050--ar1--add1-dt1--s1--p1
*/