質問
文字列の一部のコンテンツを囲む要素を変更し、コンテンツをそのままにする必要があります。正規表現を使用していますが、位置パラメーター($ 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;
(グローバルに、<!> quot; <$1>
<!> quot;に置き換えます)
問題は、一致がいくつ検出されるか、各参照を参照する方法がわからないことだと思います。 Perlで$ +を使用できたかもしれませんが、それは機能していません。 Yahoo Pipesの正規表現モジュールでこれを行っています。 PHPの実装と非常によく似ているはずです。
Yahoo Pipesで各マッチを個別に使用するにはどうすればよいですか
解決
<
と>
を個別に置き換える方が簡単な場合があります。そうすれば、後方参照を使用する必要のない単なる検索置換になります。
他のヒント
このスクリーンショットのように、g
チェックボックスをオンにすると、1つの操作を実行できるはずです。
(ソース: aleax.it )
所属していません StackOverflow