正则表达式:以相反的顺序获取连字符的url部分

时间:2017-02-20 11:27:41

标签: regex url reverse

我有网址:

http://www.example.com/file/golf-background-loop-6863-thumb480x270.jpg

是否有可能以相反的顺序捕获连字符分配的单词?

  1. thumb480x270.jpg
  2. 6863
  3. 背景
  4. http://www.example.com/file/golf
  5. 或者至少匹配最后两个:

    1. thumb480x270.jpg
    2. 6863

3 个答案:

答案 0 :(得分:0)

使用String.prototype.splitArray.prototype.reverse函数的简单解决方案:

var url = 'http://www.example.com/file/golf-background-loop-6863-thumb480x270.jpg',
    parts = url.split('-').reverse();

console.log(parts);

答案 1 :(得分:0)

理想情况下,-上的拆分必须是最简单的解决方案。但万一你必须使用正则表达式

使用正则表达式获取最后两个单词应该很容易

.*-(\w+)-([\w.:\/]+)$

替换为

\2-\1

答案 2 :(得分:0)

php.net是你的朋友

$url = 'http://www.example.com/file/golf-background-loop-6863-thumb480x270.jpg';

foreach (array_reverse(explode("-", $url)) as $idx => $part) {
    echo $idx + 1, ". ", $part, "\n";
}