1. ホーム
  2. javascript

[解決済み] URLからのURLパスの正規化

2022-02-10 14:32:59

質問

正規表現で少し困っています。

私はこのURLのパスを取得しようとしています。 videoplay .

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

この正規表現を使用する場合 /.+ にマッチします。 /video も同様です。

を入れないためには、何らかのアンチ/ネガティブマッチが必要ですね。 //

どのように解決するのですか?

この式は videoplay 別名、URLパス。

/\/(videoplay.+)/

この式は、ポート以降のすべてを取得します。また、パスから構成されています。

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

ただし Node.js をお勧めします。 url モジュールを使用します。

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

これは、すべての正規表現を行うものです。

{
  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' 
}