ThomasReggi ThomasReggi - 21 days ago 5
Javascript Question

Regex URL Path from URL

I am having a little bit of regex trouble.

I am trying to get the path in this url

videoplay
.

http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#hello


If I use this regex
/.+
it matches
/video
as well.

I would need some kind of anti / negative match to not include
//

Answer

This expression gets everything after videoplay, aka the url path.

/\/(videoplay.+)/

This expression gets everything after the port. Also consisting of the path.

/\:\d./(.+)/

However If using Node.js I recommend the native url module.

var url = require('url')
var youtubeUrl = "http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#hello"
url.parse(youtubeUrl)

Which does all of the regex work for you.

{
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'video.google.co.uk:80',
  port: '80',
  hostname: 'video.google.co.uk',
  hash: '#hello',
  search: '?docid=-7246927612831078230&hl=en',
  query: 'docid=-7246927612831078230&hl=en',
  pathname: '/videoplay',
  path: '/videoplay?docid=-7246927612831078230&hl=en',
  href: 'http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#hello' 
}
Comments