正则表达式删除字符串后跟

时间:2014-07-11 09:29:47

标签: javascript regex gawk

http://www.example.com/product/9896341.html?utm_source=google&utm_medium=VRM&utm_campaign=N&cid=vizuryjz&utm_content=&color=red&pid=9896341

在上面的网址中,我需要删除utm_source=google后面的文字,假设在url utm_source="text"我需要用"utm_source=text"替换""

请伙计们帮我正则表达。

2 个答案:

答案 0 :(得分:0)

我建议使用gnu sed代替gawk:

$ s="http://www.example.com/product/9896341.html?utm_source=google&utm_medium=VRM&utm_campaign=N&cid=vizuryjz&utm_content=&color=red&pid=9896341"
$ sed -r 's/utm_source=[^&]+//' <<<"$s"
http://www.shopin.net/product/9896341.html?&utm_medium=VRM&utm_campaign=N&cid=vizuryjz&utm_content=&color=red&pid=9896341

这会删除utm_source=,然后删除下一个&符号。

答案 1 :(得分:0)

你可以使用这个正则表达式

    utm_source=[^&?=]*

的javascript

    your_url.replace(/utm_source=[^&?=]*/gi,"")

SED

    echo "http://www.shopin.net/product/9896341.html?utm_source=google&utm_medium=VRM&utm_campaign=N&cid=vizuryjz&utm_content=&color=red&pid=9896341" | sed s/utm_source\=\[\^\&\?\=\]\*//g