0

I'm wondering what sort of regex I could use to match the last occurence of a set of 4 digits in my url.

My url is being formatted like this

/ARTIST/ALBUM-4 DIGITS-EXTRA STUFF

In the url, "4 DIGITS" will be the last possible occurence of 4 digits together. The thing is the ALBUM may contain sets of 4 digits, so it needs to match the last occurrence in the url.

Basically I need my rewrite rule to act as follows

RewriteRule ^(.*)/(.*)-(.* MATCH LAST OCCURENCE OF 4 DIGITS)-(.*)?$ album.php?artist=$1&album=$2&releaseyear=$3&EXTRA=$4

Is there any way to do this?

Belgin Fish
  • 17,849
  • 40
  • 101
  • 129

2 Answers2

1

You can use:

RewriteRule ^([^/]+)/(.+?)-(\d{4})-(\D*)$ album.php?artist=$1&album=$2&releaseyear=$3&EXTRA=$4 [L,QSA,NC]
anubhava
  • 713,503
  • 59
  • 514
  • 593
1

I would use this rule:

RewriteRule ^(.*)\/(.*)-(\d{4})(?:-(.*))?$ album.php?artist=$1&album=$2&releaseyear=$3&EXTRA=$4

Try it

zessx
  • 66,778
  • 28
  • 130
  • 153