私はいくつかのテキストの正規表現と一致するためにRE2を使用していますが、私は結果を抽出するのに苦労しています。私が欲しいものRE2から正規表現の完全一致を取り出す方法は?
は次のとおりです。
テキスト: "サンプルテキスト"
正規表現: "P * X"
は、テキストから完全な正規表現の一致を抽出します。 "PLEテックス"
を私ができますこれをサポートするRE2 APIの関数を見つけることはできません。 PartialMatchは正規表現(括弧で囲まれている)からグループを抽出するだけですが、私の正規表現はユーザから来ているので、正規表現を常にグループに入れるよう強制することはできません。私はまた、エレガントなソリューションのようには聞こえず、ユーザーが正規表現の先頭に修飾子を置くとうまくいかないので、グループ内の各正規表現を手動で折り返したいとは思わない。これは非常に基本的な機能のようですので、私はこれを行う明確な方法は驚いています。
誰にでも解決策がありますか?
キャプチャグループでパターン全体をラップする必要があるようです。 'string text; if(RE2 :: PartialMatch( "サンプルテキスト"、 "(p。* x)"、&text)){...} ' –
提案をありがとう!私が述べたように、私は正規表現をユーザから得ているので、正規表現の冒頭で修飾語を使うかもしれないので、私はそれをラップしたくない。その場合、元の正規表現(私がそれをグループ化すると、モディファイアはちょうど正規表現の一部になるので、それはもはや最初ではないからです)。 – Zoli
外部グループはこれらのインライン修飾子に影響しません。 –