使用imacros eval

时间:2017-07-03 06:59:27

标签: javascript regex match eval imacros

使用此代码TAG POS=2 TYPE=a ATTR=class:stop-propagation&&TXT:* EXTRACT=HTM

后,我得到以下结果

输出

<a class="stop-propagation" href="javascript:void(0);" data-link="/propertyDetails/poiOnMap.html?lat=19.2412011&amp;longt=73.1290596&amp;projectOrProp=Project&amp;city=Thane&amp;includeJs=y&amp;type=poiMap2017&amp;address=Thane, Maharashtra" id="map_link_27696295" onclick="stopPage=true; showPhotoMap('/propertyDetails/poiOnMap.html?lat=19.2412011&amp;longt=73.1290596&amp;projectOrProp=Project&amp;city=Thane&amp;includeJs=y&amp;type=poiMap2017&amp;address=Thane, Maharashtra');" style="outline: 1px solid blue;"><span class="icoMap"></span>Map</a>

我试图从以下代码中提取名为 longt 的变量的值

SET longt EVAL("'{{!EXTRACT}}'.match(/&(longt=.+?)&/)[1];")
PROMPT "{{longt}}"

但这并没有给我任何输出。 有关可以进行哪些修改以获得输出的任何建议对我有帮助。 感谢

1 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式:

longt=(\d+(?:\.\d+)?)

Regex Demo

你可以在imacro中试试这个:

SET longt EVAL("var regex = /longt=(\\d+(?:\\.\\d+)?)/g; var str = '{{!EXTRACT}}';str.match(regex);")
PROMPT {{longt}}