問題タブ [boost-regex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
173 参照

c++ - Boost regexp - 検索結果のヌル終了

結果:「世界123個発見」。「123」が欲しかっただけです。これはヌル終了の問題ですか、それとも regex_search の仕組みを誤解しているだけですか?

0 投票する
4 に答える
18674 参照

c++ - 致命的なエラーLNK1104:ファイルを開くことができません'libboost_regex-vc90-mt-gd-1_42.lib'

プログラム内でブースト正規表現を使用しようとしていますが、問題はこのエラーが発生することです...インストール手順は「C:\ ProgramFiles \ boost\boost_1_42」を追加のインクルードディレクトリに追加することだけでした...

私はVS2008を使用しています...

これを実装しようとしています:

問題であると想定されるのは ?追加の設定を行う必要がありますか?

0 投票する
3 に答える
9882 参照

c++ - ブースト正規表現と紛らわしいエラー

Boost 正規表現を使用して、何かに整数が含まれているかどうかを確認しようとしています。

このページの例の 1 つは、

おそらく実際に機能する例もここにあります

しかし、自分のマシンで試してみると、5 ページの読み取り不能エラーが発生します。どうしたの?

$g++ test.cpp のエラー。ここで何が起こっているのかを理解するための正気な方法はありますか?

編集:ブーストはすべてテンプレート化されており、含める必要があるだけだと思いました。それ以来、これに基づいて「g++ test.cpp -L/usr/lib -llibboost_regex-mt」を使用してコンパイルを試みました。

しかし、「/usr/bin/ld: -llibboost_regex-mt が見つかりません」というメッセージが表示されます

0 投票する
2 に答える
1726 参照

c++ - 名前のサブグループを取得する

私はブースト1.42の新しいバージョンで作業しており、名前付きサブグループで正規表現を使用したいと思います。例の下。

試合の内容を取得する方法を知っていますか?伝統的な方法は

しかし、私はこのように使いたくありません。

Perlおよび一般的な正規表現では通常どおりサブグループの名前を使用したいと思います。これを試しましたが、うまくいきませんでした。

サブグループの名前を使用して値を取得する方法を知っていますか?

ありがとうAFG

0 投票する
2 に答える
862 参照

c++ - Boost::Regex で動作するように Perl 正規表現を変換するにはどうすればよいですか?

ingorで終わる単語のこの Perl 正規表現に相当する Boost::Regex は何edですかen?

/ing$|ed$|en$/

...

0 投票する
2 に答える
147 参照

regex - 正規表現数量子に関する質問

この種の URL に一致する正規表現を見つけようとしています。

http://sub.domain.com/selector/F/13/K/100546/sampletext/654654/K/sampletext_sampletext.html

これと一致しない:

http://sub.domain.com/selector/F/13/K/10546/sampletext/5987/K/sample/K/101/sample_text.html

/K/ の数が最小 1 で最大 2 の場合のみ ({1,2} のような数量詞を持つもの)

この瞬間まで、私は次の正規表現を持っています:

今、私は次のような条件を追加するために手を必要とします:

テキストに /K/ が最大で 1 ~ 2 回出現する場合は、これに一致します。

前もって感謝します。

よろしくお願いします。

ホセマ

0 投票する
1 に答える
1088 参照

c++ - boost::find_format_all、boost::regex_finder、およびカスタム正規表現フォーマッターの問題 (バグブースト 1.42)

私は、ほぼ 4 年間 (boost 1.33 から) 動作しているコードを持っています。今日、boost 1.36 から boost 1.42 に変更したところ、問題が発生しました。

REGEX に一致する文字列の一部をフォーマットするために、文字列に対してカスタム フォーマッタを呼び出しています。

たとえば、次のような文字列: "abc;def:" は、REGEX に "([;:])" が含まれている場合、"abc\2Cdef\3B" に変更されます。

カスタム フォーマッタは次のようになります。

これは正常に機能しましたが、boost 1.42 では「初期化されていない」s.match_results() があることがわかっています。

これは、文字列をフォーマットするためにファンクターにいることがあるが、一致しないことを意味します。

私は何か間違ったことをしていますか?それとも、一致するものがなく、何かをチェックする必要があるときにファンクターに入るのが普通ですか?

今のところ私の解決策は、{}catch(){} 例外を試すことです。すべて正常に動作しますが、どういうわけかあまり気分が良くありません。

編集1

実際には、解析する各文字列の最後に新しい空の一致があります。

EDIT2:ablaeulに触発された1つのソリューション

EDIT3 (少なくとも) ブースト 1.42 のバグのようです

0 投票する
1 に答える
169 参照

c++ - C++ の boost::regex_replace() で入力文字列に一致する正規表現を削除せずに、フォーマット str を挿入するにはどうすればよいですか?

文中の句読点や他の単語の間にスペースを入れたい。しかし、boost::regex_replace() は句読点をスペースに置き換えます。文中に句読点を残したい! たとえば、このコードでは、出力は "Hello . hi , " になります。

手伝って頂けますか?

0 投票する
2 に答える
1875 参照

javascript - 正規表現で不要な括弧を削除する

私が(JavaScriptの正規表現で)持っているとします

もちろん、それは本当に読みます

そのような文字列で不要な括弧を削除するアルゴリズムはありますか?

0 投票する
4 に答える
13711 参照

c++ - C++ で Boost::regex.hpp ライブラリを使用するにはどうすればよいですか?

Boost ライブラリを使用しようとしましたが、失敗しました。コードを参照してください。

コンパイルしようとすると、次のメッセージが表示されます。

/usr/include/boost/regex/v4/regex_match.hpp:50: `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator > >, std::allocator, std::allocator への未定義参照> > > >、boost::regex_traits >

::マッチ()'

/usr/include/boost/regex/v4/basic_regex.hpp:425: `boost::basic_regex への未定義の参照 >

::do_assign(char const*, char const*, unsigned int)'

/usr/include/boost/regex/v4/perl_matcher.hpp:366: `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator, std::allocator > >, std::allocator, std::allocator への未定義参照> > > >、boost::regex_traits >

::construct_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)'

等...