正则表达式和雅虎管道:如何替换url的结尾

时间:2009-08-14 01:03:36

标签: regex url-rewriting pipe yahoo-pipes

这是管道虽然您可能不需要它来回答问题:http://pipes.yahoo.com/pipes/pipe.info?_id=85a288a1517e615b765df9603fd604bd

我正在尝试修改所有网址:

http://mediadownloads.mlb.com/mlbam/2009/08/12/mlbf_6073553_th_3.jpg with
http://mediadownloads.mlb.com/mlbam/2009/08/12/mlbtv_6073553_1m.mp4

语法应该是这样的:

在item.mediaUrl中将f替换为tv,并使用in item.mediaUrl将最后8个字符替换为1m.mp4

mlbf_(\d+)_.* replaced w/ mlbtv_$1_1m.mp4 
虽然我知道我很接近

,但

打破了rss Feed

我想知道我需要什么语法吗?

2 个答案:

答案 0 :(得分:1)

假设正则表达式应用于URL,您的正则表达式和替换看起来没问题。如果它也被应用于周围的文本,.*将比你想要的消耗更多。看看如果将正则表达式更改为此会发生什么:

mlbf_(\d+)_[\w.]+

答案 1 :(得分:0)

我不知道雅虎管如何工作,但这个正则表达式应该按照这个site来做:

正则表达式:

.*?/([0-9]*)/([0-9]*)/([0-9]*)/mlbf_([0-9]*)_.*

换人:

http://mediadownloads.mlb.com/mlbam/$1/$2/$3/mlbtv_$4_1m.mp4