SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";
if(!s.match(/.*>\s*(\d+).*/)) {s.replace=(/.*>\s*(\d+).*/,'$1');}
else {s.replace=/.*>\s*(\D+).*/,'$1';}")
PROMPT {{!VAR1}}
我试图检查所提取的HTML代码(匹配第一或第二片段)是否外部的数字字符“11111”的字符串相匹配HTML标记,如果是这样,与第一捕获组取代它说比赛(“$ 1”):iMacros的FF评估和演示的if else .match .replace正则表达式捕获组被忽略
<td style="outline: 1px solid blue;">
11111 <img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
如果不匹配,与非字符串替换数字字符“SomeText”再次使用第一个捕获组( '$ 1'):
<td style="outline: 1px solid blue;">
<img src="/images/flaggen/de.png" name="" alt="" width="16" height="11" align="absmiddle"> SomeText (MoreText) </td>
正则表达式在这两种情况下匹配,并且确实取代了绳子,但只返回字面上
$1
,或者不管我尝试以...取代。
没有其他正则表达式我试过工作(只返回文字正则表达式),$ &也没有。
如何在此表达式中成功引用捕获组?
编辑1:使用$ 1不含引号返回公制$1
,使用双引号“$ 1”返回iMacro错误MacroSyntaxError: wrong format of SET command, line 42 (Error code: -910)
。转义双引号\"$1\"
从字面上返回$1
。
@Toto不带引号的iMacros返回'$ 1没有定义,行:42(错误代码:-1001)' – yuu
@Toto我有“”我得到了'MacroSyntaxError:错误格式的SET命令,第42行(错误代码:-910)',用\ $ 1转义不起作用,也没有/ $ 1/ – yuu
@Toto也试过了,返回是'$ 1'。我将编辑我的问题以包含您的建议和结果。 – yuu