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

【正则问题】如何得到两个Tag之间的文本
有一文本文件如下
public   int   Update <$TableName$> ( <$TableName$> Data   data)
                {
                        int   result   =   0;
                        if   (data.ID   ==   0)
                        {
                                throw   new   ArgumentException( "用于更新的 <$TableName$> 数据不包含ID信息 ");
                        }
                        DbCommand   cmd   =   db.GetStoredProcCommand( <$TableNameUpperCase$> _ADD_PROCEDURE_NAME);
        <$Loop$>
                        db.AddInParameter(cmd,   " <$ColumnName$> ",   DbType. <$ColumnDBType$> ,data. <$ColumnName$> );
        <$LoopEnd$>
                        try
                        {
                                result   =   db.ExecuteNonQuery(cmd);
                        }
                        catch   (SqlException   e)
                        {
                                throw   new   SqlException( "在执行 <$TableName$> 记录更新时发生数据库异常 ",   e);
                        }
                        finally  
                        {
                                cmd.Dispose();
                        }

                        return   result;
                }

需要取出 <$Loop$> 和 <$LoopEnd$> 之间的文本,应该怎么实现?

------解决方案--------------------
正则: <\$Loop\$> (.*?) <\$LoopEnd\$>
结果:
捕获 1 :
<$Loop$>
db.AddInParameter(cmd, " <$ColumnName$> ", DbType. <$ColumnDBType$> ,data. <$ColumnName$> );
<$LoopEnd$>
==============================华丽的分隔线===============================
捕获 1 :
组 1 :
db.AddInParameter(cmd, " <$ColumnName$> ", DbType. <$ColumnDBType$> ,data. <$ColumnName$> );

==============================华丽的分隔线========