2010-03-18 84 views

回答

4

preg_match()來電號碼libPCRE。如果你想要相當於preg_match(),那麼你必須使用該庫。

或者,如果您只需要正則表達式匹配功能(PCRE或不),還有另一個答案中提到的Boost::regex庫。

如果您的編譯器支持新版本的標準(C++ 11或更高版本),那麼它可能還包括新的standard regular expression library.該標準包括對ECMAScript語法的支持(這與PCRE非常相似,並且基於PCRE )以及其他一些。

+0

+1,用於指出* exact *與preg_match()等效。 ;-) – DevSolar 2010-03-18 15:41:57

+1

Boost.regex支持多種正則表達式格式。默認格式是Perl兼容的,因此與PCRE(Perl Compatible Regular Expressions)兼容。 – Ferruccio 2010-03-18 15:50:26

+0

謝謝你指點我。我現在正在使用也使用PCRE的Poco-Foundation的RegExp類。 http://pocoproject.org – 2010-03-18 16:21:40

6

STL(直到C++ 0x)不支持正則表達式。但是你可以使用boost::regex庫。

+0

文檔位於http://www.boost.org/doc/libs/1_42_0/libs/regex/doc/html/index.html – 2010-03-18 13:58:38