在imacros中替换字符串会产生错误

时间:2017-07-11 06:01:05

标签: javascript regex replace imacros

我正在尝试使用以下代码将“BHK Plot / Land”替换为“Plot / Land”

TAG POS=1 TYPE=DIV ATTR=CLASS:sLB&&TXT:* EXTRACT=HTM
SET pqr {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=R1 TYPE=INPUT ATTR=TYPE:HIDDEN&&TXT:* EXTRACT=TXT
SET abc {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=R1 TYPE=INPUT ATTR=TYPE:HIDDEN&&TXT:* EXTRACT=TXT
SET def {{!EXTRACT}}
SET !EXTRACT NULL
PROMPT "{{abc}} BHK {{def}}"
SET lmn EVAL("PROMPT {{abc}} BHK {{def}}.replace(/[BHK Plot/Land]/g,'Plot\Land');")
PROMPT {{lmn}}

但是代码给了我错误:missing ; before statement, line: 70 (Error code: -1001),。代码已经有了“;”在它,那为什么它会给出错误? 这是我提取数据的link

  

PROMPT“{{abc}} BHK {{def}}”,给我输出“ BHK Plot / Land ”。   所以试图从提示中替换这个词

对于为什么会有任何建议会非常有帮助。感谢

1 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式,它已经在imacros中测试过,效果很好:

SET abc "hellllllo"
set def " Plot/Land yes yes yes"
SET res EVAL("var re=new RegExp('BHK\\\\s*(?=Plot/Land)','g'); var str = '{{abc}}'+'BHK'+'{{def}}';str.replace(re,'');")
prompt {{res}}

输出:

hellllllo Plot / Land yes yes yes