iMacros FF Eval If Else .match .replace 正则表达式捕获组被忽略

iMacros FF Eval If Else .match .replace regex capturing group is ignored

SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";
if(!s.match(/.*>\s*(\d+).*/)) {s.replace=(/.*>\s*(\d+).*/,'');}
else {s.replace=/.*>\s*(\D+).*/,'';}")
PROMPT {{!VAR1}} 

我正在尝试检查提取的 HTML 代码(匹配第一个或第二个片段)是否匹配 html 标签外的一串数字字符“11111”,如果匹配,将其替换为所述匹配项 ('$1') 的第一个捕获组:

<td style="outline: 1px solid blue;">
              11111      <img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle">       SomeText                  (MoreText)                </td>

如果不匹配,使用第一个捕获组('$1')再次用非数字字符的字符串替换它"SomeText":

<td style="outline: 1px solid blue;">
                        <img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle">       SomeText                  (MoreText)                </td>

正则表达式在两种情况下都匹配并且确实替换了字符串但仅 returns 按字面

,或者我尝试替换的任何内容。

我试过的其他正则表达式都不起作用(returns 只是文字正则表达式),$& 也没有。

如何才能在此表达式中成功引用捕获组?

编辑 1:直接使用不带引号的 $1 returns </code>,使用双引号“$1”returns iMacro 错误 <code>MacroSyntaxError: wrong format of SET command, line 42 (Error code: -910)。再次转义双引号 \"\" returns .

如果我没听错,请尝试以下 EVAL 命令:

SET !VAR1 EVAL("var s='{{!EXTRACT}}'; if(s.match(/.*>\s*(\d+).*/)) {s = s.match(/.*>\s*(\d+).*/)[1];} else {s = s.match(/.*>\s*(\D+)\(/)[1].trim();} s;")