如果我用gcc编译C程序,我可以放心地假设regex.h中的函数可用。如果有人正在使用microsoft的C编译器编译,我可以假设有一个正则表达式库吗?
答案 0 :(得分:1)
仅限C ++,但可能是您可以使用(或换行)的东西:
Visual C ++ 2010包括TR1正则表达式库支持。
它也适用于功能包中的VC ++ 2008:
答案 1 :(得分:0)
不,我不认为MSVC捆绑了任何正则表达式库。
Regex不是C / C ++标准库的一部分,因此默认情况下不应依赖任何提供此类库的编译器。最好是为C获取一个单独的正则表达式库(我确定有很多可用的)并将其包含在您的代码中。
答案 2 :(得分:0)
尝试Boost或等待C ++ 1x的发布......
答案 3 :(得分:0)
没有与msvc捆绑在一起的C / C ++正则表达式库。 C ++ / CLI可以通过。
访问.NET正则表达式类也许您可以使用PCRE
答案 4 :(得分:0)
如果你想要POSIX兼容的正则表达式语义(以及相同的API!)那么最好的正则表达式库是TRE:http://laurikari.net/tre/
与大多数正则表达式实现不同,它遵循POSIX完全关于它为带括号的子表达式返回的匹配,并且它是O(n)
,而大多数实现都是O(2^n)
及时。
Google还有一个新的正则表达式实现,如果您愿意,可以使用与Perl兼容的语法。您可以在TRE网站上找到一个链接。
编辑:顺便说一句,TRE似乎附带了项目文件来在MSVC下构建它。