SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";
if(!s.match(/.*>\s*(\d+).*/)) {s.replace=(/.*>\s*(\d+).*/,'$1');}
else {s.replace=/.*>\s*(\D+).*/,'$1';}")
PROMPT {{!VAR1}}
Ich versuche, ob das extrahierte HTML-Code zu überprüfen, der eine Reihe von numerischen Zeichen „11111“ außerhalb der (entweder den ersten oder zweiten Schnipsel passend) hTML-Tags und wenn ja, ersetzen sie es mit der ersten Erfassungsgruppe des Spiels (‚$ 1‘):iMacros FF Eval Wenn Else .match .replace regex Erfassungsgruppe
<td style="outline: 1px solid blue;">
11111 <img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
wenn es nicht übereinstimmt, ersetzen sie es mit der Zeichenfolge von nicht numerische Zeichen "SomeText" erneut mit die erste Erfassungsgruppe ('$ 1'):
<td style="outline: 1px solid blue;">
<img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
Die Regex passt in beiden Fällen und macht die Zeichenfolge ersetzen, sondern liefert nur buchstäblich
$1
, oder was auch immer ich versuche, ersetzen mit.
Keine andere Regex, die ich versucht habe, funktioniert (gibt nur die literale Regex-Ausdruck), weder $ &.
Wie kann ich eine einfangende Gruppe in diesem Ausdruck erfolgreich referenzieren?
Edit 1: Using $ 1 ohne Anführungszeichen gibt Literaly $1
, mit doppelten Anführungszeichen "$ 1" gibt iMacro Fehler MacroSyntaxError: wrong format of SET command, line 42 (Error code: -910)
zurück. Die doppelten Anführungszeichen entgehen \"$1\"
kehrt wieder wörtlich $1
.
@Toto ohne Anführungszeichen iMacros gibt '$ 1 ist nicht definiert, Zeile: 42 (Fehlercode: -1001)' – yuu
@Toto Ich habe versuchte das vorher, mit "" bekomme ich 'MacroSyntaxError: falsches Format des SET-Befehls, Zeile 42 (Fehlercode: -910)', nicht mit \ $ 1 zu entkommen, funktioniert auch nicht/$ 1/ – yuu
@Toto Versuchte das auch Rückkehr ist "$ 1". Ich werde meine Frage bearbeiten, um Ihre Vorschläge und deren Ergebnisse einzubeziehen. – yuu