我要一正则表达式,我要每次找到
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
这是还可以有内容
{end}
现在我用下面这句的正则
@"\{Jloop,[^\}]+\}[\s\S]*?\{end\}"
找到的是
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
是这个样子的,这个正则把第一个{end}给匹配了
下面是html测试代码,看能弄得出来不,谢谢各位了<body>
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
{end}
这里是html代码
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
{end}
</body>
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
这是还可以有内容
{end}
现在我用下面这句的正则
@"\{Jloop,[^\}]+\}[\s\S]*?\{end\}"
找到的是
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
是这个样子的,这个正则把第一个{end}给匹配了
下面是html测试代码,看能弄得出来不,谢谢各位了<body>
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
{end}
这里是html代码
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
{end}
</body>
解决方案 »
- 动态加载div
- 急急急! 打酱油!100分! .NET 短信发送加进度条源码!
- 库存管理系统数据库的设计
- page_load后变量值为什么变成nothing
- .net日期控件语言版本问题
- 如何进行数据备份
- GridView嵌套gridview,实现子(从)gridview的编辑更新等操作
- 我碰到个奇怪的问题!
- 〓★〓 DataList 如何显示图片??我想哭......... 〓★〓
- 请问各位:当动态生成内容时,那些复杂界面在两个以上的页面上调用,各位是把这个内容如何包装的?
- AJAX后台ScriptManager.RegisterStartupScript不弹出JS框问题!!!!!!
- js点击按钮实现复制功能
@"((?<s>\{Jloop,num=[^}]+\})((?!(\{Jloop,num=[^}]+\}|\{end\})).)*)+((?<-s>\{end\})((?!(\{Jloop,num=[^}]+\}|\{end\})).)*)+(?(s)(?!))"
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src="{$url}" alt="{$title}">
{end}
{end}";
string s = Regex.Match(yourStr,@"{Jloop[\s\S]*?{end}(?![\s\S]*?{end})").Value;
<body>
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src='{$url}' alt='{$title}'>
{end}
sadfasg
{end}
dd
{Jloop,num=12}
<a>{$ClassTiltle}</a>
{Jloop,num=33}
<img src='{$url}' alt='{$title}'>
{end}
sadgsa
{end}
</body>
里面有多个的时候 就不行了
@"(?isn)((?<s>\{Jloop,[^}]+\})((?!(\{Jloop,[^}]+\}|\{end\})).)*)+((?<-s>\{end\})((?!(\{Jloop,[^}]+\}|\{end\})).)*)+(?(s)(?!))"
MatchCollection mc = regDiv.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n-------------------\n";
}