文字列内の一部のコンテンツを囲む要素を変更して、コンテンツをそのままにする必要があります。正規表現を使用していますが、位置パラメーター($ 1)を使用して置き換えると、最初の一致のみが使用されます。
たとえば、この文字列がある場合:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
次のように変更します:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
しかし、私はこれしか得ることができません:
<strong>I want<strong> to change <strong>this<strong> text,
but <strong>I can't<strong>. <strong>Why?<strong>.
私は次の正規表現を使用しています:
\x26lt;(.*?)\x26gt;
(グローバルに、そしてそれを ""に置き換えます<$1>
)
問題は、一致するものがいくつ見つかるか、それぞれをどのように参照するかがわからないことだと思います。たぶんPerlでは$+を使うことができたかもしれませんが、それはうまくいきません。私はYahooPipesの正規表現モジュールでこれを行っています。これは、PHPの実装であるafaikと非常によく似ているはずです。
Yahoo Pipesで各マッチを個別に使用するにはどうすればよいですか?