代码之家  ›  专栏  ›  技术社区  ›  aviraldg Ortiga

C或C++有标准的正则表达式库吗?

  •  16
  • aviraldg Ortiga  · 技术社区  · 15 年前

    是吗?如果是,我在哪里可以得到它的文档。。。如果不是,那么哪一个是最好的选择?

    9 回复  |  直到 15 年前
        1
  •  31
  •   Community datashaman    7 年前

    C++11现在终于有了一个 standard regex library -std::regex。

    如果您没有访问C++11实现的权限,那么可以选择 boost regex the "empty()" method is not in the std::regex 但是,对于C++来说,它是一个非常成熟的正则表达式实现。

        2
  •  7
  •   che    15 年前

    在类UNIX系统下,您可以使用 POSIX regex functions .

        3
  •  6
  •   Tom Kirby-Green    15 年前

    微软Visual C++ 2008的特征包1(现在滚动到VisualStudio 2008服务包1)包含“官方”Tr1 ReX EX类型的实现。击倒自己:-)

        4
  •  5
  •   Paolo Tedesco    15 年前

    检查 boost regex 图书馆它应该成为C++0x标准的一部分。

        5
  •  3
  •   Michael Krelin - hacker    15 年前

    如果 标准 你是说和编译器捆绑在一起,而不是。但是捆绑regex扩展的大多数其他语言都使用相当标准的语言 c 实现。例如。 PCRE - Perl Compatible Regular Expression 和C库都支持POSIX正则表达式(参见 man page

        6
  •  2
  •   RED SOFT ADAIR    15 年前

    正则表达式是C++扩展Tr1的一部分。Dinkumware、visual studio和其他公司已经实现了这一点。 看见

    Quick Start for C++ TR1 Regular Expressions

    Visual C++ 2008 Feature Pack

        7
  •  1
  •   larsmoa    15 年前

    Qt Trolltech的,也有一个regex实现,我发现它很容易使用。然而,如果您不打算将Qt用于任何其他用途,我会使用Boost.Regex,因为您可能会将Boost用于其他用途。

        8
  •  1
  •   jochenleidner    12 年前

    标准ISO/IEC 1488∶2011编程语言C++描述了正则表达式类作为C++库的一部分,它受到成熟的Boost库的很大影响。

    因此,在编译器支持达到法规遵从性之前,最好在此时使用Boost。

        9
  •  0
  •   ukanth    15 年前