Pregunta

Necesito cambiar los elementos que rodean a algunos de los contenidos en una cadena, dejando el contenido como es.Lo estoy haciendo con una expresión regular, pero cuando me reemplazar mediante el parámetro de posición ($1), sólo se utiliza el primer partido.

Por ejemplo, si tengo esta cadena:

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>.

Quiero cambiar a:

<strong>I want</strong> to change <i>this</i> text, 
but <u>I can't</u>. <div class="question">Why?</div>.

Pero sólo puedo conseguir esto:

<strong>I want<strong> to change <strong>this<strong> text, 
but <strong>I can't<strong>. <strong>Why?<strong>.

Estoy usando la siguiente expresión regular:

\x26lt;(.*?)\x26gt;

(a nivel mundial, y reemplazarlo con "<$1>")

Supongo que el problema es que no puedo decir cuántos partidos se encuentran, y cómo se refieren a cada uno de ellos.Tal vez en Perl que podría haber utilizado $+, pero que no está funcionando.Estoy haciendo esto con el regex módulo de Yahoo Pipes.Debe ser muy similar a PHP implemenations, afaik.

¿Cómo puedo utilizar cada partido por separado en Yahoo Pipes?

¿Fue útil?

Solución

Podría ser más fácil de reemplazar la &lt; y el &gt; de forma independiente.De esa manera se convierte en un simplemente buscar-reemplazar que no tenga que usar referencias.

Otros consejos

Debería poder hacer una sola operación si marca la casilla g, como en esta captura de pantalla ...: captura de pantalla
(fuente: aleax.it )

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top