誰かが2つの違いを説明できますか?今すぐ学ぶ方が良いでしょうか?知識はどのようにして1つから他のものに移り、その逆も同様です。Boost.RegexとC++ 11 Regex
答えて
boost regexライブラリはC++ 0xにしていますので、徐々にboostから削除されると思います。ただし、C++ 0xをサポートしていないコンパイラでも引き続き使用できるので、boostを使用すると便利です。それは本当にあなた次第です。
はい、ただし、簡単な 's/boost ::/std ::/g'でRegexをC++ 11正規表現に変換する正規表現ベースのプログラム? –
@Rob:これは、あなたがBoost.RegexのICUサポートを利用しているかどうかによって決まると思います。 – ildjarn
大きな違いの1つは、C++ 11では正規表現のPerl構文が提供されていないことです。したがって、Perl構文を使用する傾向がある場合は、Boost :: Regexライブラリを使用する必要があります。
はい、正規表現のためのPerl構文があります:ECMAScript正規表現があり、ECMAScript正規表現はPerl正規表現と同じですhttp://ecma-international.org/ecma-262/5.1/#sec-15.10 – BenjaminB
@Ubiquitéあなたは正しくありません。あなたが提供したリンクは、「モデル化された」と言います。
@PatrickNiedzielski:あなたは間違いなく、残念ながらBoost.Regexは 'perl'を' ECMAScript'と同等と定義しています。http://www.boost.org/doc/libs/1_53_0/libs/regex/doc/html/boost_regex/ref/ syntax_option_type/syntax_option_type_perl.html。 – kennytm
少なくともVisual Studio 2013では、これと関連する名前(cmatch、regex_match)は両方の名前空間で同じです。彼らはまた、同じ(または同様の)インターフェイスを持っています。
名前空間を変更するだけで、同じコードが警告とエラーなしに別の正規表現でコンパイルされます。それと同じように動作するはずです。
P.S.私はstd :: regexがC++ 11の一部であり、boost :: regexがサードパーティのライブラリであるので、これを好むでしょう。私は数年後、boostはboost :: regexのサポートを削除すると確信しています。
- 1. C++ 11 Regex Capture Groups名前で
- 2. C++ 11 Regexはキャプチャグループ識別子を見つける
- 3. javaとC++ 11 volatile
- 4. Visual Studio 2012 __cplusplusとC++ 11
- 5. C++ 11プロセス間アトミックとmutex
- 6. C++ 11 foreach構文とカスタムイテレータ
- 7. C++ 11とC++ 03のライブラリ互換性
- 8. C++ 11ファイルシステム(VS2012)
- 9. C++ 11オペレーター ""
- 10. ブースト:: C++ 11
- 11. C++ 11ファイルストリーム
- 12. vxworksのC++ 11
- 13. C++ 11 std :: array
- 14. はC++ 11
- 15. C++ 11バージョン
- 16. intrusive_ptr in C++ 11
- 17. はC++ 11
- 18. 入手方法-std = C++ 11 w/libstdC++?
- 19. C++ 11 visual_studioでのthread_localキーワードのサポート11
- 20. C++ 11ラムダC関数ポインタ
- 21. ブースト/ C++用のC++ラッパー11
- 22. Emacs、Cedet and C++/C++ 11 support
- 23. C#Regex Help
- 24. Regex in Objective-c
- 25. Simle regex question、C#
- 26. C# '&' regex problem
- 27. Regex C#コンソールアプリケーション
- 28. C#Regex Pattern Conundrum
- 29. のstd :: for_each、C++ 11
- 30. C++ 11可変テンプレートテンプレートパラメータ
標準的な方法を学ぶことは決して悪いことではありません。 –
GCCによって完全に実装されていないので、標準ライブラリC++ 11 Regexには注意してください:http://stackoverflow.com/questions/4716680/c0x-regex-in-gcc –