[JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14] 
                    <TR> 
                      <TD width="276" height="20">· <a href="[JF:NewsPath]" target="_blank">[JF:Title]</a></TD>
                    </TR>
                    [/JF:loop] 匹配[JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14][/JF:loop]
且读取到 JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14属性的值,请教高手怎样写表达式

解决方案 »

  1.   

    表达式:
    \[(jf:loop)(?<property>[^\]]*?)?\](?:\s|\S)*?\[/\1\]测试:[JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14] 
                        <TR> 
                          <TD width="276" height="20">· <a href="[JF:NewsPath]" target="_blank">[JF:Title]</a></TD>
                        </TR>
                        [/JF:loop] 匹配到1个match
    ================================match1
    [JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14] 
                        <TR> 
                          <TD width="276" height="20">· <a href="[JF:NewsPath]" target="_blank">[JF:Title]</a></TD>
                        </TR>
                        [/JF:loop] 
    ------------------group 1
    JF:loop
    ------------------group "property"
     JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14测试通过
      

  2.   

    测试数据
    [JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14] 
                        <TR> 
                          <TD width="276" height="20">· <a href="[JF:NewsPath]" target="_blank">[JF:Title]</a></TD>
                        </TR>
                        [/JF:loop] 
    正则:\[JF.*?NewsCount=(\d+).*?TitleNum=(\d+).*?CategoryID=(\d+).*?\]
    模式:IgnoreCase, Singleline
    捕获数:1
    捕获 1 :
        [JF:loop JF:NewsCount=6,JF:TitleNum=21,JF:CategoryID=14]
    ==============================华丽的分隔线===============================
    捕获 1 :
    组 1 :    6
    组 2 :    21
    组 3 :    14
    ==============================华丽的分隔线===============================