問題タブ [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 投票する
2 に答える
1014 参照

c++ - Boost正規表現ライブラリを使用してプログラムをコンパイルする際の問題

Linuxボックスでboostregexライブラリを使用していたboostプログラムをコンパイルしようとしました。必要なすべてのヘッダーとライブラリがあります。プログラムは、テンプレート出力の巨大なダンプをスローしてコンパイルを拒否します。次のコマンドを使用してプログラムをコンパイルしています。

plsは以下を修正する方法についてアドバイスします。

g ++ regex.cc -I / usr / local / include / boost / -L / usr / local / lib -lboost_regex -o regex

これがコンパイラの出力です。

これは、同じBoost正規表現のドキュメントから取得したコードです。

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

c++ - Boost-Regexを使用して文字列を文字と数字に解析する

Boostの正規表現ライブラリを使用して、ラベルと数字を含む文字列をトークンに分離したいと思います。たとえば、'abc1def002g30'に分割され{'abc','1','def','002','g','30'}ます。Boostのドキュメントに記載されている例を変更して、次のコードを作成しました。

保存されているトークンの数countは正しいです。ただし、*it空の文字列のみが含まれているため、何も出力されません。私が間違っていることについて何か推測はありますか?

編集:以下に提案されている修正に従って、コードを変更しましたが、正しく機能するようになりました。

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

c++ - boost::algorithm よりも boost::regex (または boost::xpressive) を優先する必要がある場合

ブースト正規表現エンジンはboost::algorithmよりも速いと思った
この単純なテストは、アルゴリズムが正規表現エンジンを大幅に上回っていることを示しています
これはテストプログラム全体
です 何か見逃しましたか?

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

c++ - 正規表現キャプチャグループを後押し

何日もハッキングして読んだ後、私はブーストの正規表現エンジンで運がなかった。うまくいけば、ここの誰かが助けてくれるだろう。

すべての行から最初のフィールドを取得し、最後のフィールドが入力と一致するようにします。

正規表現に次の文字列を指定するとします...

そして、私の試合を設定します

これがブーストから得られる出力です。ライン全体とグループ1の試合の両方を要求したことを覚えておいてください。また、「|」も要求しました。したがって、行の終わりを簡単に確認できます。

本当に445が欲しい| および446| のみですが、449(最初のBOOGNISHに到達するまで)、次に446になります。他のリパーサーでこれをテストしましたが、正常に機能しているようです。ブーストで何が間違っているのですか?

前もって感謝します!

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

c++ - 正規表現一致 URL 機関パーツ

次の文字列のこれらの部分を一致させる必要があります。

ユーザーとポートはオプションで一致させることができます。最初に、次の正規表現で管理しました。

これはfoo@bar:80

しかし、のような IPv6 ホストにfoo@[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:80なると、前述の正規表現は期待どおりに機能しません。

だから今、私は、角括弧で囲まれたホストをコロンで囲み、角括弧なしで一致させることができる正規表現について考えています。:)私は次の正規表現でそれを行いました:

2しかし..どちらか3が空になるので、これは醜いです。これを 1 つの後方参照に結合する方法はありますか?

私が知る限り、perl の正規表現エンジンを使用する boost::regex を使用しています。

感謝と敬意

再販

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

c++ - boost::regex_search を使用して大文字と小文字を区別しない

boost::regex_searchC++ で大文字と小文字を区別しないフラグまたは定数をどのように使用しますか?

簡単な例を投稿してください。

ありがとう!

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

c++ - Boost :: regex_iteratorコンストラクターは失敗しますが、make_regex_iterator関数は成功します

これはスローしstd::runtime_error what(): Memory exhaustedます:

これは正常に機能します。

パフォーマンスの違いの原因を誰かが知っていますか?boost :: regex libは、Linux上でデフォルトの非再帰モードでコンパイルされます。

編集:また試した

regex_it = boost :: cregex_iterator(line.data()、line.data()+ line.size()、re);

同じ問題。

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

c++ - 表現力を高める:間違った一致?

単純な式をboostと一致させたいのですが、動作がおかしいです...以下のコードは、最初と2番目の文字列の「a」を一致させて表示する必要があります。

しかし、私の実際の出力は次のとおりです。

そしてそれは

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

c++ - boost::regex のどの部分が一致/検索に失敗したかを理解する方法

テキストと正規表現boost::regexを一致させるために使用しています(と言ったほうがよいでしょう)。boost::regex_search

これは一致せず、私の正規表現は本当に巨大です。

ライブラリに、正規表現のどの部分が一致しなかったかを教えてくれる関数があるかどうか知っていますか?

Linux/gcc を使用しています