正则匹配的问题.一换行就匹配不到了.奇怪
string str2 = @"{{(.*?)/}}";{{News(10,3,20,p)}}
<a href="<#ClassUrl#>" style="color:blue;">[<#ClassName#>]</a> <a href="<#NewsUrl#>"><#Title#></a>
{{News/}}
我一把<a href....换个行就匹配不到了.怎么回了.
换成
{{News(10,3,20,p)}}<a href="<#ClassUrl#>" style="color:blue;">[<#ClassName#>]</a> <a href="<#NewsUrl#>"><#Title#></a>{{News/}} 这样就可以.天哪.这是怎么回事.
--------------------编程问答-------------------- 每天回帖即可获得10分可用分 --------------------编程问答-------------------- str2是你的全部正则?
小数点不能匹配换行符,用[\s\S]代替小数点,匹配任意一个字符 --------------------编程问答-------------------- 谢谢.
string str2 = @"{{([\s\S]*?)/}}"; 吗
我试了.还是不行.正则我接触不久.不太熟悉.请指教. --------------------编程问答-------------------- 你想匹配以下全部吗?
{{News(10,3,20,p)}}
<a href=" <#ClassUrl#>" style="color:blue;">[ <#ClassName#>] </a> <a href=" <#NewsUrl#>"> <#Title#> </a>
{{News/}}
规律是什么样的,哪里固定的,哪里是变化的 --------------------编程问答-------------------- [\n\s\S]* --------------------编程问答-------------------- try...
Regex reg = new Regex(@"(?is)\{\{(\w+)(?:(?!\}\}).)*\}\}(?:(?!\{\{|\}\}).)*\{\{\1/\}\}");--------------------编程问答--------------------
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
谢谢.但不行. --------------------编程问答--------------------
您好.{{News(10,3,20,p)}}这个是标签头.括号内的是参数.{{News/}}这个是标签尾.从 <a></a>里面的内容是模板内容.是变化的. --------------------编程问答-------------------- 6楼代码不能满足你的要求吗?
如果News是固定的,根据这个来取,那试下下面的代码
Regex reg = new Regex(@"(?is)\{\{News(?:(?!\}\}).)*\}\}(?:(?!\{\{|\}\}).)*\{\{News/\}\}");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
如果还不满足要求,说下哪里不满足要求
补充:.NET技术 , ASP.NET