string str = "3,3,3,3,3,3,6(2),6(2),"; Regex reg = new Regex(@"(\d+)\(([^\)]+)\)"); foreach (Match m in reg.Matches(str)) Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value);
string pattern = @"\(\S\)"; string data = "3,3,3,3,3,3,6(2),6(4)"; MatchCollection mc = Regex.Matches(data, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); foreach (Match m in mc) { string s = m.Value; string value = s.Substring(s.IndexOf('(') + 1, s.IndexOf(')') - 1); }
不好意思 我看错题目了 string str = "3,3,3,3,3,3,6(2),6(2),"; Regex reg = new Regex(@"(\d+)\(([^\)]+)\)"); foreach (Match m in reg.Matches(str)) Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value); 这个是对的
2 扫描split出来的数组中的每个项
3 如果有存在括弧,记录左右括弧的位置,substring出里面的东西。坐等大师,看看是不是可以正则
这样已经分离出来,之间的值
再怎么可以分离出6(2)这里的6和2呢?
Regex reg = new Regex(@"(\d+)\(([^\)]+)\)");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value);
string pattern = @"\(\S\)";
string data = "3,3,3,3,3,3,6(2),6(4)"; MatchCollection mc = Regex.Matches(data, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); foreach (Match m in mc)
{
string s = m.Value;
string value = s.Substring(s.IndexOf('(') + 1, s.IndexOf(')') - 1);
}
不好意思 我看错题目了
string str = "3,3,3,3,3,3,6(2),6(2),";
Regex reg = new Regex(@"(\d+)\(([^\)]+)\)");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value);
这个是对的