Rubyで「文字列から正規表現にマッチする部分だけぶっこ抜く」ってのをやろうとしてこんな風に書いたのだけど、もっとシンプルに書けるはずだったので復習。 str = 'http://instagram.com/p/hoge/' #hogeを抜き出したい m = str.match(/http:\/\/instagram.com\/p\/(.+?)\//) id = m[1] puts id まず、http:\/\/みたいにエスケープしまくるのが面倒。%rを使えば完結に書けた。%rは直後に来る文字を正規表現のデリミタとする。今回の例だと/が何度も出てくるので、/以外の文字をデリミタにすれば、何度もエスケープする必要がなくなる。 %r{http://instagram.com/p/(.+?)/} デリミタにする文字は何でもよい。なので、これも等価。 %r!http://instagram.com