正则表达式共用同一字符 处理字符:[t1]<f1><f2><f3><f4>结果产生4行:[t1]<f1>[t1]<f2>[t1]<f3>[t1]<f4>如上,能通过一条正则表达式实现吗?可以的话不用委托来写谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private static void TestRegex09(){ string yourStr = @"[t1]<f1><f2><f3><f4>"; Match m = Regex.Match(yourStr, @"(\[[^\[\]]+\])(<[^<>]+>)+"); if (!m.Success) return; StringBuilder builder = new StringBuilder(); foreach (Capture c in m.Groups[2].Captures) { builder.AppendLine(m.Groups[1].Value + c.Value); } Console.WriteLine(builder.ToString());} 刚看到站内信如查<...>数量固定的话,可以不用委托,如果数量不固定,那还是得用委托来处理,方式如无牙的,当然也可以写成Replace的string test = "[t1]<f1><f2><f3><f4>";Regex reg = new Regex(@"(\[[^\[\]]*\])(<[^<>]*>)+");string result = reg.Replace(test, delegate(Match m){ StringBuilder sbuilder = new StringBuilder(); foreach (Capture c in m.Groups[2].Captures) { sbuilder.Append(m.Groups[1].Value); sbuilder.Append(c.Value); sbuilder.Append("\n"); } return sbuilder.ToString();});richTextBox2.Text = result; 在winform中使用soap头验证的问题 怎么样建立.sxd数据集文件 .net framework 3.5编译的exe不能Reflector了吗? 怎样使进程一直处于检测状态 做excel外接程序问题(C#) 菜鸟遇到面试题 变态算法问题:反转语句(算法大虾们近来) C#新手求助,关于控件的删除 asp里C#怎样调用自己C#写的DLL类库 求解决思路,treeview中节点数量巨大(上万),如何才能得到较好的性能?欢迎大家踊跃讨论 c#掉用deliph 的dll 关于返回值问题 求一个解决access和sql数据库isNull函数差别的正则表达式
private static void TestRegex09()
{
string yourStr = @"[t1]<f1><f2><f3><f4>";
Match m = Regex.Match(yourStr, @"(\[[^\[\]]+\])(<[^<>]+>)+");
if (!m.Success) return;
StringBuilder builder = new StringBuilder();
foreach (Capture c in m.Groups[2].Captures)
{
builder.AppendLine(m.Groups[1].Value + c.Value);
}
Console.WriteLine(builder.ToString());
}
string test = "[t1]<f1><f2><f3><f4>";
Regex reg = new Regex(@"(\[[^\[\]]*\])(<[^<>]*>)+");
string result = reg.Replace(test, delegate(Match m)
{
StringBuilder sbuilder = new StringBuilder();
foreach (Capture c in m.Groups[2].Captures)
{
sbuilder.Append(m.Groups[1].Value);
sbuilder.Append(c.Value);
sbuilder.Append("\n");
}
return sbuilder.ToString();
});
richTextBox2.Text = result;