2014-01-10 82 views
-7

有人可以幫我寫一個正則表達式來修改下面
我需要正則表達式來修改字符串

mywebsite.com/images/products/12345678_pit.jpg<br> 
mywebsite.com/images/products/12345678_piat_a2.jpg 

的鏈接,鏈接:

mywebsite.com/images/zoomimage/12/12345678_var.jpg<br> 
mywebsite.com/images/zoomimage/12/12345678_var_a2.jpg 

我們看到

  • products = zoomimage
  • pit|piat = var
  • 12345678 = 12/12345678(意味着第一2位/初始數)

由於

+0

你在用什麼語言? – Toto

+4

你的預算是多少?如果你希望我們做所有的工作,你不指望它是免費的,對吧? – h2ooooooo

+0

詢問代碼的問題必須證明解決實際問題的最小努力,包括嘗試的代碼和遇到的問題 – HamZa

回答

1

給你在PHP的示例,但是該正則表達式可以用另一種語言被重用:

$urls = array(
    'mywebsite.com/images/products/12345678_pit.jpg', 
    'mywebsite.com/images/products/23456789_foo.jpg', 
    'mywebsite.com/images/products/34567890_bar.jpg', 
    'mywebsite.com/images/products/12345678_piat_a2.jpg', 
    'mywebsite.com/images/products/45678901_baz_a2.jpg', 
    'mywebsite.com/images/products/56789012_qux_a2.jpg' 
); 
foreach($urls as $url) { 
    echo preg_replace(
     '/products\/(\d{2})(\d*)_[a-z-]+(.*)\.jpg/i', 
     'zoomimage/$1/$1$2_var$3.jpg', $url) .'<br>'; 
} 
// mywebsite.com/images/zoomimage/12/12345678_var.jpg 
// mywebsite.com/images/zoomimage/23/23456789_var.jpg 
// mywebsite.com/images/zoomimage/34/34567890_var.jpg 
// mywebsite.com/images/zoomimage/12/12345678_var_a2.jpg 
// mywebsite.com/images/zoomimage/45/45678901_var_a2.jpg 
// mywebsite.com/images/zoomimage/56/56789012_var_a2.jpg 
+0

謝謝zessx您的解決方案完美工作。祝你有美好的一天! – Marcel

相關問題