我有几段文字 现要根据对文字的标记进行截取例如:文本域内容如下
#A#
<#A#>abcdefg</#A#>
#B#
<#B#>1234567</#B#>
#C#
<#C#>ABCDEFG</#C#>
#D#
<#D#>7654321</#D#>现在我想输出:1234567 7654321程序上该怎么写请大家帮忙
#A#
<#A#>abcdefg</#A#>
#B#
<#B#>1234567</#B#>
#C#
<#C#>ABCDEFG</#C#>
#D#
<#D#>7654321</#D#>现在我想输出:1234567 7654321程序上该怎么写请大家帮忙
解决方案 »
- 如何在不提交页面之前实现AsyncFileUpload的多次上传?
- 紧急求住 关于JS中window.open的问题
- 一个你能解决的问题,快来帮我!!!
- javascript
- 急啊,小问题,帮帮我
- form 验证 登陆验证后, IsAuthenticated总是 false ,怎么回事 啊?
- 郁闷,钱包被窃,说明一下失窃经过,大家一定要引以为戒
- 怎么发布web api项目哇,调试一切都OK了,但是部署到IIS不会了
- Web 服务器上似乎未安装 FrontPage 服务器扩展 求助啊!!
- 如何才能把绝对路径最方便的转化为相对路径。来者有分!
- ueditor 问题
- ModalPopupExtender1.Show();窗口无法弹出
string str = reader.ReadToEnd();
Regex reg = new Regex(@"(?is)[\d]+");
MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
MessageBox.Show(m.Value);
}
string source = @"
#A#
<#A#>abcdefg</#A#>
#B#
<#B#>1234567</#B#>
#C#
<#C#>ABCDEFG</#C#>
#D#
<#D#>7654321</#D#>
";
foreach (Match m in Regex.Matches(source, @"(#(B|D)#)\s*<\1>(.*?)</\1>"))
{
Console.WriteLine(m.Groups[3].Value);
}
如果文本内容为
<#A#>abcdefg</#A#>
<#B#>1234567</#B#>
<#C#>ABCDEFG</#C#>
<#D#>7654321</#D#>正则该怎么写谢谢
#A#
<#A#>abcdefg</#A#>
#B#
<#B#>1234567</#B#>
#C#
<#C#>ABCDEFG</#C#>
#D#
<#D#>7654321</#D#>
<#B#>1234567</#B#>
";
foreach (Match m in Regex.Matches(source, @"(#(B|D)#\s)*?<(#(B|D)#)>(.*?)</\3>"))
{
Console.WriteLine(m.Groups[5].Value);
}
假设你输入 A,B,C,D这种规范的标记string lbl = Console.ReadLine();
Match ma = Reges.IsMatch(source,"<#"+lbl+"#>([0-9]+?)</#"+lbl+"#>");
Console.WriteLine(ma.Groups[1].value);