メモ
もひとつ。
url からホスト名とかプロトコルを取ってパスのみを取得する必要が出てきた。正規表現で何とかなりますか? ってパーフェクト Javascript に聞いてみたらありました。
> var next = 'http://fuga.com/?format=json&limit=25&until=1308214820'; > next 'http://fuga.com/?format=json&limit=25&until=1308214820' > var regexp = new RegExp('http://fuga.com'); > regexp.test(next); true > next.replace(regexp, ''); '/?format=json&limit=25&until=1308214820' >
なんと楽ちんな。PaaS とか AWS 云々もですが、今の人達は本当に裏山。
追記
上記のパラメータを javascript なオブジェクトにしなきゃいけなくなった。これも正規表現で云々できる模様
> paramstr '/?format=json&limit=25&until=1308214820' > new RegExp('limit=[0-9]*').exec(paramstr); [ 'limit=25', index: 14, input: '/?format=json&limit=25&until=1308214820' ] > new RegExp('until=[0-9]*').exec(paramstr); [ 'until=1308214820', index: 23, input: '/?format=json&limit=25&until=1308214820' ] >
右辺値は数値であることが分かってるのでこんな乱暴なワザが使える、ということで。あ、取り出した後にオブジェクトにしなきゃ、なのか。
ええと、昔お世話になったとほほさんによれば
> paramstr '/?format=json&limit=25&until=1308214820' > new RegExp('until=[0-9]*').exec(paramstr)[0].match(new RegExp('=')) [ '=', index: 5, input: 'until=1308214820' ] > RegExp.rightContext; '1308214820' >
みたいなカンジで OK らしい。上記ですが json なパラメータはステで until 固定で云々しますのでかなり乱暴な処理を書く方向。
終わりに
素人なもので微妙なメモで申し訳ありません。