`
sogo6
  • 浏览: 110129 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用正则表达式来分割sql语句!

    博客分类:
  • C++
阅读更多
int CSQLMake::SplitSql(std::string &strSql, std::vector<std::string> &vctSql)
{
    int iRet = 0;
    boost::regex regEx("\\(select[\\w\\s='<>!#,.@]*\\)");
    std::string::const_iterator start, end;

    boost::match_results<std::string::const_iterator> what; 
    boost::match_flag_type flags = boost::match_default;

    int iCount = -1;
    while (boost::regex_search(strSql, what, regEx, flags))
    {
        std::string strTemp(what[0].first, what[0].second);
        vctSql.push_back(strTemp);
        iCount ++;

        std::string strFlag = "@@" + toString(iCount);

        std::string::size_type stPos = strSql.find(what[0]);
        std::string strLeft = strSql.substr(0, stPos);
        std::string strRight = strSql.substr(stPos + (what[0].second - what[0].first));

        strSql = strLeft + strFlag + strRight;

        flags |= boost::match_prev_avail;
        flags |= boost::match_not_bob;
    }

    vctSql.push_back(strSql);
    return iRet;
}
分享到:
评论

相关推荐

    C#编程经验技巧宝典

    121 &lt;br&gt;0200 如何使用正则表达式验证电话号码 121 &lt;br&gt;0201 如何使用正则表达式验证输入密码条件 121 &lt;br&gt;0202 如何使用正则表达式验证邮政编号 121 &lt;br&gt;0203 如何使用正则表达式验证手机号 ...

    PHP和MySQL Web开发第4版pdf以及源码

    4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()...

    PHP和MySQL Web开发第4版

    4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()...

    PHP和MySQL WEB开发(第4版)

    4.8 使用正则表达式分割字符串 4.9 比较字符串函数和正则表达式函数 4.10 进一步学习 4.11 下一章 第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include...

    php网络开发完全手册

    7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 ...

    java jdk实列宝典 光盘源代码

    使用正则表达式验证电话号码的格式; 6java异常处理 throw和throws、try和catch;自定义异常类;使用finally;使用异常的技巧和原则; 7 IO输入输出流 获取文件的基本信息;列出指定目录下的文件,并可过滤文件;创建...

    Python核心编程第二版(ok)

     6.8.7 从现实中得来的教训   6.8.8 Python的Unicode支持   6.9 相关模块   6.10 字符串关键点总结  6.11 列表   6.12 操作符   6.12.1 标准类型操作符   6.12.2 序列类型操作符   6.12.3 ...

    PHP3程序设计

    9.1 正则表达式定义 129 9.1.1 方括号表达式 130 9.1.2 转义字符 130 9.2 POSIX风格的函数 131 9.2.1 ereg 和eregi 131 9.2.2 ereg_replace 和eregi_replace 132 9.2.3 Split 133 9.3 PERL风格函数 134 9.3.1 模式定...

    Python核心编程第二版

     6.8.7 从现实中得来的教训   6.8.8 Python的Unicode支持   6.9 相关模块   6.10 字符串关键点总结  6.11 列表   6.12 操作符   6.12.1 标准类型操作符   6.12.2 序列类型操作符   6.12.3 ...

    C# winform典型系统开发模板

     8.2.6 使用正则表达式验证邮件格式 190  8.3 设计过程 191  8.3.1 数据库设计 191  8.3.2 系统登录 191  8.3.3 邮件发送实现 192  8.3.4 为邮件上传多个附件 193  8.3.5 邮件接收实现 ...

    Java核心技术II(第8版)

    1.8 正则表达式 第十二章 XML 2.1 XML概述 2.1.1 XML文档的结构 2.2 解析XML文档 2.3 验证XML文档 2.3.1 文档类型定义 2.3.2 XML Schema 2.3.3 实用示例 2.4 使用XPath来定位信息 2.5 使用名字空间 2.6 流机制解析...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例110 通过正则表达式对字符串进行匹配查找 141 实例111 通过IP地址查找主机所在地 142 实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例110 通过正则表达式对字符串进行匹配查找 141 实例111 通过IP地址查找主机所在地 142 实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用...

    C#开发典型模块大全(光盘)第一部分

    8.2.6 使用正则表达式验证邮件格式 8.3 设计过程 8.3.1 数据库设计 8.3.2 系统登录 8.3.3 邮件发送实现 8.3.4 为邮件上传多个附件 8.3.5 邮件接收实现 8.3.6 查看邮件详细信息 8.3.7 下载附件的实现 8.3.8 删除邮件...

    C#开发典型模块大全(光盘)第二部分

    8.2.6 使用正则表达式验证邮件格式 8.3 设计过程 8.3.1 数据库设计 8.3.2 系统登录 8.3.3 邮件发送实现 8.3.4 为邮件上传多个附件 8.3.5 邮件接收实现 8.3.6 查看邮件详细信息 8.3.7 下载附件的实现 8.3.8 删除邮件...

    javaSE代码实例

    13.5.1 正则表达式的基本语法 259 13.5.2 Pattern类简介 262 13.5.3 Matcher类简介 263 13.5.4 Pattern与Matcher类的综合应用 264 13.6 String类中正则式的应用 266 13.6.1 模式匹配检查 266 13.6.2 ...

Global site tag (gtag.js) - Google Analytics