regulärer Ausdruck:suchen und ersetzen jede übereinstimmung
-
10-07-2019 - |
Frage
Ich ändern müssen die Elemente, die Sie umgeben einige Inhalte in eine Zeichenfolge, verlassen Sie die Inhalte.Ich mache es mit einem regulären Ausdruck, aber wenn ich ersetzen mit die positions-parameter ($1), verwendet es nur das erste match.
Zum Beispiel, wenn ich habe diese Zeichenfolge:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
Ich will es ändern zu:
<strong>I want</strong> to change <i>this</i> text,
but <u>I can't</u>. <div class="question">Why?</div>.
Aber ich kann nur dieses:
<strong>I want<strong> to change <strong>this<strong> text,
but <strong>I can't<strong>. <strong>Why?<strong>.
Ich bin mit dem folgenden regex:
\x26lt;(.*?)\x26gt;
(Global, und ersetzen Sie es mit "<$1>
")
Ich denke, das problem ist, ich kann nicht sagen, wie viele übereinstimmungen gefunden werden, und wie Sie beziehen sich jeweils.Vielleicht in Perl könnte ich habe $+, aber das funktioniert nicht.Dies mache ich mit den regex-Modul von Yahoo Pipes.Es sollte sehr ähnlich zu PHP implemenations, afaik.
Wie kann ich jedes Spiel separat in Yahoo Pipes?
Lösung
Es könnte einfacher sein, zu ersetzen die <
und die >
unabhängig.So wird es zu einem einfach suchen und ersetzen, die nicht brauchen, um verwenden Sie zurück-Referenzen.
Andere Tipps
Sie sollten in der Lage sein zu tun, einem Vorgang, wenn Sie überprüfen die g
Kontrollkästchen, wie im screenshot...:
(Quelle: aleax.es)