SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";
if(!s.match(/.*>\s*(\d+).*/)) {s.replace=(/.*>\s*(\d+).*/,'$1');}
else {s.replace=/.*>\s*(\D+).*/,'$1';}")
PROMPT {{!VAR1}}
Je suis en train de vérifier si le code HTML extrait (correspondant à la première ou deuxième extrait) correspond à une chaîne de caractères numériques « 11111 » en dehors du les balises HTML et si elle le fait, le remplacer par le 1er groupe de capture de ladite correspondance ($ 1):iMacros FF Eval Si Else .match .replace groupe capture regex est ignorée
<td style="outline: 1px solid blue;">
11111 <img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
Si elle ne correspond pas, remplacez-le par la chaîne de non caractères numériques "SomeText" utilisant à nouveau le premier groupe de capture ($ 1):
<td style="outline: 1px solid blue;">
<img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
L'expression régulière dans les deux cas et ne remplace la chaîne, mais ne retourne littéralement
$1
, ou tout ce que j'essaie remplacer avec.
Aucun autre regex que j'ai essayé n'a fonctionné (renvoie seulement l'expression littérale regex), pas plus que $ &.
Comment puis-je référencer avec succès un groupe de capture dans cette expression?
Édition 1: L'utilisation de $ 1 sans guillemets retourne literraly $1
, en utilisant des guillemets "$ 1" renvoie l'erreur iMacro MacroSyntaxError: wrong format of SET command, line 42 (Error code: -910)
. Échapper les guillemets \"$1\"
renvoie à nouveau littéralement $1
.
@Toto sans les guillemets iMacros retourne '$ 1 ne définit pas, la ligne: 42 (Code d'erreur: -1001)' – yuu
@Toto Je essayé cela avant, avec "" Je reçois MacroSyntaxError: format incorrect de la commande SET, ligne 42 (code d'erreur: -910), s'échapper avec \ $ 1 ne fonctionne pas, ni/1/ – yuu
@Toto essayé cela aussi, le le retour est '$ 1'. Je vais modifier ma question pour inclure vos suggestions et leurs résultats. – yuu