日期:2014-05-18  浏览次数:20391 次

求一不包含某一特定字符串可为其他任意字符的正则
多行模式,能匹配\n \r等换行符等等

{get("10")}
<a href="[row:sUrl]">[row:sTitle]</a>
<span>{cut}[row:sContent]{/cut}</span>
{/get}
{get("21")}
<a href="[row:sUrl]"><img src="[row:sImg]"></a>
{/get}


每个{get}... {/get} 当中的字符如何匹配?且{get}...{/get}中不会含{/get}? 


------解决方案--------------------
(?is){(get)[^}]+}((?!{\1}).)+?{/\1}

最好把你想要的结果帖一下
------解决方案--------------------
(?is)(?<=\{get\}.*?(?=\{/get\}))
------解决方案--------------------
{get}([\d\D]+?){/get}
------解决方案--------------------
探讨

引用:

从你的描述来看,你应该是使用了贪婪匹配所导致的问题
Try:

(?is){(get)[^}]+}(.*?){/\1}


回复: 我写的正则获取的结果:

<a href="[row:sUrl]">[row:sTitle]</a>
<span>{cut}[row:sContent]{/cut}</span>
{/get}
{get("21"……