-1

我不擅长正则表达式,我需要一些帮助。

我在下面有一个链接:

http://www.mydomain.com/1/1/5/1/some-name-123-115194_7_9.jpg

使用 php 得到的正则表达式应该是什么,如下所示:

http://www.mydomain.com/1/1/5/1/115194_7_9.jpg

这是我到目前为止所尝试的:

preg_match_all('/(\d+)(\w+)/', $str,$matches); 
4

1 回答 1

1

使用preg_replace

$url = "http://www.mydomain.com/1/1/5/1/some-name-123-115194_7_9.jpg";

echo preg_replace('#(.+/).+-(.+)#','$1$2',$url)

>>> http://www.mydomain.com/1/1/5/1/115194_7_9.jpg

解释:

(.+/)   # Match everything upto the last / and capture
.+-     # Match upto the last -
(.+)    # Match and capture everything else 
        # Replace with 
$1$2    # The first and second capture groups
于 2012-12-13T16:52:44.013 回答