C++ TR1正则表达式库

标签: , , ,

C++ TR1 regular expression library,这是昨天在EditPlus里看到的,以前一直都没听说过。我不喜欢C++,自然也不会去了解这方面的东西。

据说VS2008 SP1已经基本上完全支持了TR1库,最新的VS2010也支持,正好机器上装有Visual C++ Express 2010,于是测试了一下。

#include <iostream>
#include <string>
#include <regex>

int main(void)
{
    std::string str;
    std::tr1::cmatch res;
    str = "<h2>Egg prices</h2>";
    std::tr1::regex rx("<h(.)>([^<]+)");
    std::tr1::regex_search(str.c_str(), res, rx);
    std::cout << res[1] << ". " << res[2] << "\n";
}

能编译通过,输出2. Egg prices,结果也正确。但是TR1自己并非标准,他是一份草稿文件。然而他所提出的项目很有可能成为下次的官方标准。这份文件的目标在于“为扩充的C++标准函式库建立更为广泛的现成实作品”。当C++编译器开始支持得时候,非标准也许会变成事实的标准。

如果没记错的话这是本博客第一次写和C++有关的东西,但是纯粹是对这个EditPlus用的正则表达式库好奇而已,并不表示我对C++看法的改变。

Just use plain C, I don’t need C++ .

参考链接:

  1. TR1 Regular Expressions
  2. Getting started with C++ TR1 regular expressions

随机文章:

  1. 不用循环计算1到100的和
  2. 验证IPv4地址的正则表达式
  3. 在VBS中定义字节数组Byte()
  4. 用LinuxLive USB Creator创建Linux启动盘
  5. VBS获取系统本次及上次开关机时间

一条评论 发表在“C++ TR1正则表达式库”上

  1. linkanyway说道:

    虽然看不懂,但还是要顶下的

留下回复