求平衡组,正则表达式
为了捕获这样结构的字符串 {demo:loop id=1 /} 或者 {demo:loop id=2}sdfwsdf {/demo:loop}
这样的字符串,我的正则
//Regex r = new Regex(@"(\{demo:(?<name>[^\]]*?)\s+(?<attributes>[^\]]*?)\}(?<text>[\s\S]*?)\{/demo:(?<name>[^\]]*?)\})", RegexOptions.Compiled | RegexOptions.IgnoreCase);
可以看到,loop是我要捕获的分组,attributes是我要捕获的属性,text是我要捕获的内容,但是涉及到嵌套就会有问题,
请高手帮我用平衡组写一下,谢谢。
这样的字符串,我的正则
//Regex r = new Regex(@"(\{demo:(?<name>[^\]]*?)\s+(?<attributes>[^\]]*?)\}(?<text>[\s\S]*?)\{/demo:(?<name>[^\]]*?)\})", RegexOptions.Compiled | RegexOptions.IgnoreCase);
可以看到,loop是我要捕获的分组,attributes是我要捕获的属性,text是我要捕获的内容,但是涉及到嵌套就会有问题,
请高手帮我用平衡组写一下,谢谢。
...全文
相关推荐
正则表达式——详细讲解平衡组
这篇文章适合你吗? 要读懂这篇文章的精髓,你最好要有一点正则匹配原理的基础。比如”.*?”匹配文本内容”asp163″,稍懂正则表达式的人都知道可以匹配,但是你知道他的匹配过程吗?如果你不太清楚,那么下面的内容,对你来说可能不太适合,或许,看的太吃力且无法领悟平衡组的用法。因此,我建议你先了解正则表达式NFA引擎的匹配原理。想要整理一份易懂易描述的话,的确要费些时间,但不知道这篇内容会不会达到我预期的效果。慢慢完善吧~(注:这是我2010年写的,现在拿过来,有时间将自己做为读者来看本篇文章,修改有问题的地方,并增加些实例,尽量做到通俗易懂。) 一般正则教程中对平衡组的介绍 如果想要匹配可嵌套的
正则表达式匹配闭合HTML标签(支持嵌套)
先确定我们要解决的问题——从一段Html文本中找出特定id的标签的innerHTML,需要的朋友可以参考下
Java/Js下使用正则表达式匹配嵌套Html标签
以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里头用到了平衡组这样的高级特性,貌似只有DotNet还有Perl正则引擎支持,因此通用性不高。
我见过的最好的正则表达式入门教程
作为初学者,在网上苦苦搜寻整理才弄出来的,绝对是最好的正则入门教程
正则表达式(Word)
正则表正则表达式正则表达式正正则表达式正则表达式正则正则表达式表正则正则表达式表达式正则表达式达式则表达式达式


