問題タブ [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.
c++ - Boost.Regex と C++11 正規表現
誰かが2つの違いを説明できますか? 今学ぶならどっちがいい?知識はどのようにして一方から他方へ、またはその逆に伝達されるのでしょうか?
c++ - 引用符内の区切り文字を除外して文字列をトークン化する
最初に、私は SO でこの問題に対する他のすべての解決策を徹底的に調べました。それらは非常に似ていますが、私の問題を完全に解決するものはありません。
ブースト正規表現を使用して、引用符 (引用符で囲まれたもの) を除くすべてのトークンを抽出する必要があります。
私が使用する必要があると思う正規表現は次のとおりです。
しかし、次のエラーが表示されます。
名前付きマークはすでに存在します
C# 用に投稿されたソリューションは、重複した名前付きマークで機能するようです。これは、他のマークとの OR 式であるためです。
c++ - 外部ソースからブースト正規表現を設定する
ログを解析する必要があり、正常に動作する正規表現を使用していますが、構成ファイルから正規表現を設定する必要があり、ここに問題があります。
そして、構成変数から設定しようとしたときに同じ正規表現が機能しない理由が本当にわかりません。
どんな助けでも大歓迎です(:
c++ - boost::wregex にカスタム アロケータを使用する
カスタム アロケーターを作成し、それをコード全体で使用したいと考えています。これを行う方法は、使用する各コンテナーをラップするテンプレートを定義し、デフォルトの代わりに独自のアロケーターを使用することです。
template <class Type>
class myVector : public std::vector<Type, CCustomAllocator<Type>>
したがって、次のようにコードで使用できますmyVector<int> x
。これにより、間違いを犯す可能性が減ります。
コードで使用するすべてのコンテナに同様のラッパーがあります: list
、、、...string
wstring
このアプローチが理にかなっていることを願っています。
のこのタイプのテンプレート ラッパーの定義に問題がありますboost::wregex
。正規表現は指定されたアロケーターを使用できますか?
c++ - Visual Studio 2010 には正規表現エラーが含まれています
私は正規表現を試しています。だから私はVS 2010でプロジェクトを作成し、一番上に置きました:
コンパイルするとエラーのリストが表示されますが、regex.h ファイル自体に問題があるようです。エラーは次のとおりです。
これを修正してプログラムを実行するにはどうすればよいですか? ありがとう
c++ - C++正規表現の簡単な使用
私はただ混乱して、C++での正規表現の使用に慣れようとしています。ユーザーに次のように入力してもらいたいとしましょう:###-$$-###、#= 0〜9の任意の数値と$ = 0〜5の任意の数値にします。これは、これを達成するための私の考えです。
これは正確なコードではありませんが、ユーザーの入力が有効な数字の文字列であるかどうかを確認するための一般的な考え方です。ただし、0で始まる数字を許可しないとしましょう:099-55-999は受け入れられません。どうすればそのようなものをチェックして無効に出力できますか?ありがとう
boost - 正規表現は、先頭の異なる行の文字に一致します
私の質問は、正規表現を使用して文字列内の特定の行の最初の 3 文字を一致させる方法ですが、プログラムを実行すると、文字列の最初の行の最初の 3 文字のみに一致するはずです。
.V/RTEE/EW\n.N/ERER/JAN/21
私の正規表現は、どんな助けにも^(.[VN]/)*
一致する必要があるので、.V/ and .N/
とても感謝しています
c++ - 正規表現はC ++を後押しします
文字列の先頭にある文字と文字列の改行をキャッチしようとしています
私が使用している正規表現は、.V/ と .E/ をキャッチする必要がある上記の文字列からのものです
しかし、それは .V/ を ctach するだけのようです ^ は文字列の開始だけでなく改行を意味すると思ったので、誰でも理由を見ることができますか? しばらくの間この問題を抱えていたので、どんな助けも非常に感謝しています。これが正しい方法でない場合は、別の方法を提案できます。
c++ - ゼロ幅の正規表現を正規表現で解析する
ゼロ幅の正規表現文字列を使用して、有効な切断部位であるアミノ酸記号(基本的にはAZ)の文字列内の場所を指定します。たとえば、タンパク質分解酵素トリプシンは、P((?<=[KR])(?!P)
)が続く場合を除いて、KまたはRの後に切断します。これらの正規表現を、この分野でも一般的な「カット/ノーカット」表記に変換したいと思います。たとえば、トリプシンは「KR」の後に「P」のノーカットでカットします。これに対する私の最初の試みは、単純なケースで機能します。
C ++をエスケープしないと、次のようになります。
(?:\(+\?<([=!])(\[[A-Z]+\]|[A-Z])\)+)?(?:\(+\?([=!])(\[[A-Z]+\]|[A-Z])\)+)?
これを変更して、複数の文字、非キャプチャグループ、文字セット、文字セットの範囲、否定セット、文字列の開始/終了など、やや複雑な正規表現をサポートしたいと思います:
(?<=K|R)
または(?<=(?:K)|(?:R))
または(?<=[^A-JL-QS-Z])
または(?<=^M|[KR])
これらの追加機能は、正規表現の複雑さを爆発させるように思われます。Boost.Regexの「実験的な」BOOST_REGEX_MATCH_EXTRA機能を有効にする必要があると確信しています。私がしていることをするためのより良い方法はありますか?ゼロ幅の正規表現で他の正規表現の可能性を見逃していますか?
これは、単純なケースの多くをカバーする既存のコードの単体テストの擬似コードです。「センス」メンバーは、「カット」フィールドが後読みに対応する場合は「C」であり、「カット」フィールドが先読みに対応する場合は「N」です。現在のpepXMLSpecificity()関数は、より短いリストを生成する場合、文字セットを反転できます。