0

いくつかのコメントタグを含むテキストのブロックがあります。

Lorem ipsum dolor sit amet<--this is a comment-->, consectetur adipiscing<--replace=>with this--> elit. Maecenas massa ip<---123=<--=>+456>=->-->sum, ultrices quis semper porttitor, cursus at lectus.

<--xxx=>yyy-->タグのすべてのインスタンスの内容をキャプチャする正規表現を記述したいと思います。上記のテキストから、これはを返し[('replace', 'with this'), ('-123=<--', '+456>=->')]ます。問題は、テキストとコメントに任意の数の文字の組み合わせを含めることができることです(とのコメントタグ区切り文字を除く<--)。-->=>

単一の正規表現でこれを実現することは可能ですか?Pythonを使用してこれをテストしていますが、正規表現は複数のプラットフォームで機能するはずです。

4

1 に答える 1

2

これは、更新された一致要件に従って動作する正規表現である必要があります。

/<--((?:[^=-]|(?:=(?!>)|-(?!->)))+)=>((?:[^=-]|(?:=(?!>)|-(?!->)))+)-->/g

これにより、キャプチャ グループ内で許可されていない区切り文字--><--がフィルター処理されます。グローバル マッチングの修飾子に=>注意してください。g一致ごとに両方のグループを抽出して、目的の結果を取得します。

(正規表現)

于 2013-01-17T22:46:23.500 に答える