1

アマゾンの商品のURLを指定すると、次のいずれかになります。

http://amazon.com/gp/product/ASIN/*
http://amazon.com/*/dp/ASIN/*
http://amazon.com/dp/ASIN/*

RubyのURLからASIN番号を廃棄するにはどうすればよいですか?私は正規表現を書くのが苦手です。

4

2 に答える 2

5

使用は、次の方法で一致するものを見つける必要があります。

scan(/https?:\/\/(?:www\.|)amazon\.com\/(?:gp\/product|[^\/]+\/dp|dp)\/([^\/]+)/)
于 2012-06-27T20:12:12.970 に答える
2

多くのURL解析を行う場合は、Addressable::URIジェムを確認することをお勧めします。正規表現を使用してURLを解析するよりも、保守がはるかに簡単になります。この目的のためだけに設計されたテンプレートモジュールもご覧ください。

詳細については、アドレス指定可能なメインページの例を参照してください。

また、Rubyの組み込みURIモジュールを使用してpath、を使用してパスを取得し、単純な文字列分割と、どの要素に「dp」が含まれているかを確認し、配列内の次の要素または「gp」を取得して、次の2番目の要素。

于 2012-06-27T23:17:07.320 に答える