【发布时间】:2014-04-18 00:49:27
【问题描述】:
有没有办法使用正则表达式来获取最外层分隔符之间的文本?我这里有一个字符串,想在最外面的{%%% 和%%%} 分隔符之间获取文本:
Hello {%%%=Select(DepartmentID,1,{%%%=if(Gender="M","Mr.","Ms.")%%%}%%%} {%LastName%}
我想得到的文字是:
=Select(DepartmentID,1,{%%%=if(Gender="M","Mr.","Ms.")%%%}
这个正则表达式是什么?我知道里面的文字没有多大意义,这只是一个例子。
【问题讨论】:
-
为什么不用
{%%%(.*)%%%}而使用$1? -
@EugenRieck 如果有多组分隔符(非嵌套)将失败:
{%%%foo%%%} {%%%bar%%%} -
如果代码是一个可接受的解决方案,请考虑使用堆栈来跟踪打开和关闭分隔符。
-
@Sam 啊,我现在明白了,OQ 中不排除这种情况。
标签: regex vb.net recursive-regex