質問

文字列の一部のコンテンツを囲む要素を変更し、コンテンツをそのままにする必要があります。正規表現を使用していますが、位置パラメーター($ 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で各マッチを個別に使用するにはどうすればよいですか

役に立ちましたか?

解決

&lt;&gt;を個別に置き換える方が簡単な場合があります。そうすれば、後方参照を使用する必要のない単なる検索置換になります。

他のヒント

このスクリーンショットのように、gチェックボックスをオンにすると、1つの操作を実行できるはずです。 screenshot
(ソース: aleax.it

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top