アマゾンの商品のURLを指定すると、次のいずれかになります。
http://amazon.com/gp/product/ASIN/*
http://amazon.com/*/dp/ASIN/*
http://amazon.com/dp/ASIN/*
RubyのURLからASIN番号を廃棄するにはどうすればよいですか?私は正規表現を書くのが苦手です。
アマゾンの商品のURLを指定すると、次のいずれかになります。
http://amazon.com/gp/product/ASIN/*
http://amazon.com/*/dp/ASIN/*
http://amazon.com/dp/ASIN/*
RubyのURLからASIN番号を廃棄するにはどうすればよいですか?私は正規表現を書くのが苦手です。
使用は、次の方法で一致するものを見つける必要があります。
scan(/https?:\/\/(?:www\.|)amazon\.com\/(?:gp\/product|[^\/]+\/dp|dp)\/([^\/]+)/)
多くのURL解析を行う場合は、Addressable::URIジェムを確認することをお勧めします。正規表現を使用してURLを解析するよりも、保守がはるかに簡単になります。この目的のためだけに設計されたテンプレートモジュールもご覧ください。
詳細については、アドレス指定可能なメインページの例を参照してください。
また、Rubyの組み込みURIモジュールを使用してpath
、を使用してパスを取得し、単純な文字列分割と、どの要素に「dp
」が含まれているかを確認し、配列内の次の要素または「gp
」を取得して、次の2番目の要素。