Javascript 从GTM中的字符串值提取属性
我正试图从我们在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 我们为提取此内容而创建的脚本是: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
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];},但正是您的答案让它起了作用。非常感谢。