我有一个这样的字符串:
lp.xyz.com/trader/?campaign=32&p=edgetrac_100{creative}
如何使用正则表达式仅提取100{creative}
?
通常我使用的文字如下:
lp.xyz.com/trader/?campaign=32&p=edgetrac_100
表达式:
\bp=edgetrac_(?<edgetrac>+)\b
只提取100和(edgetrac)以便稍后使用它:
<Read Var="destUrl1" Field='Destination URL' Regex='(\bp=edgetrac_(?{edgetrac}\w+)\b)' />
<Map To='Value' Condition='destUrl1 != null' Value="{destUrl1.edgetrac}" />
但现在我需要一些东西来获得{creative}
,所以我得到100{creative} (edgetrac)
有什么建议吗?
感谢。
答案 0 :(得分:1)
如果 {creative}
之后没有任何内容,这可能会有所帮助\bp=edgetrac_.*
或者当它有大括号后的东西时,
\bp=edgetrac_(\d+){(\w+)}
或简单地说,
(\d+){(\w+)}
然后,为了匹配edgetrac,
p=([a-zA-Z]+)_(\d+){(\w+)}
此处输入lp.xyz.com/trader/?campaign=32&p=edgetrac_100{creative}
,
\ 1 =&gt; edgetrac
\ 2 =&gt; 100
\ 3 =&gt;广告
答案 1 :(得分:0)
好的我认为:\ bp = edgetrac _(\ w + {* [a-z] } )