Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从GTM中的字符串值提取属性_Javascript_String_Google Tag Manager - Fatal编程技术网

Javascript 从GTM中的字符串值提取属性

Javascript 从GTM中的字符串值提取属性,javascript,string,google-tag-manager,Javascript,String,Google Tag Manager,我正试图从我们在GTM网站上的旧AWIN标签中提取信息。我们正在努力将其推送到数据层,但这需要一段时间,因此这是目前的下一步 我成功地将信息拉入GTM中的字符串,该字符串返回以下值我手动删除了此帖子的值,这很好: '/*不更改/var AWIN={};AWIN.Tracking={}; AWIN.Tracking.Sale={};/设置事务参数*/ AWIN.Tracking.Sale.amount=00.00;AWIN.Tracking.Sale.channel= 哦;AWIN.Trackin

我正试图从我们在GTM网站上的旧AWIN标签中提取信息。我们正在努力将其推送到数据层,但这需要一段时间,因此这是目前的下一步

我成功地将信息拉入GTM中的字符串,该字符串返回以下值我手动删除了此帖子的值,这很好:

'/*不更改/var AWIN={};AWIN.Tracking={}; AWIN.Tracking.Sale={};/设置事务参数*/ AWIN.Tracking.Sale.amount=00.00;AWIN.Tracking.Sale.channel= 哦;AWIN.Tracking.Sale.currency=英镑;阿温 .Tracking.Sale.orderRef=00000;AWIN.Tracking.Sale.parts= 默认值:00.00;AWIN.Tracking.Sale.test=0; AWIN.Tracking.Sale.voucher=;'

我唯一需要的是

AWIN.Tracking.Sale.parts

我们为提取此内容而创建的脚本是:

function() {
  var awintrackstr = {{DOM - AWIN Image Full}};
  return awintrackstr.match(/AWIN.Tracking.Sale.parts = \"(.*)\";$/)[1];
}
然而,这是提取我们需要的价值以外的一切:

'默认值:00:00;AWIN.Tracking.Sale.test=0;阿温,追踪,萨尔

我们创建的所有测试都表明上面的方法应该有效,但它在GTM中不起作用

有人知道这在GTM中应该如何工作吗?再一次,我们所期待的是EXTRACT的一部分,上面写着DEFAULT:00.00

提前感谢

这是因为正则表达式中的.*部分。 .*将匹配任何字符,包括其他字符,使其匹配到最后一个仍然跟在正则表达式后面的字符

将。*替换为[^]*,这将匹配任何不匹配的字符

我还建议您在需要编写正则表达式时使用。使用此函数,您还将注意到该字符在javascript正则表达式中没有特殊意义,因此无需对其进行转义


编辑:这是您工作时正则表达式的修改版本:

嗨,Delvian,太棒了-非常感谢您的回答。在你的帮助下,我能让它工作。我不得不以一种不同的方式略微更改代码,删除$to read‘function{var awincrokstr={{DOM-AWIN Image Full};return awincrokstr.match/AWIN.Tracking.Sale.parts=\[^]*\/[1];},但正是您的答案让它起了作用。非常感谢。