JavaScriptでの正規表現
まさしくメモ!アフェリエイトコンバース/オールスターマルチバーHI (converse/MULTIBAR HI)本日は、Perlで作っていたアフェリエイトの成型用スクリプトを、JavaScriptに移植してみた。Perlとは言っても、やっていることはほとんど正規表現でちぎって、並べて、納め直しているだけだから、簡単だろうと思ったが、ちょっとあっぷあっぷだった。そのあたりのメモ。var hoge = moge.match(/hogehoge/);が基本の形だとして…最初に詰まったのは、このhogeをもう1回Matchさせようとすると動かないと言うこと。var hoge = moge.match(/hogehoge/);var muge = hoge.match(/mugemuge/);だと、2行目でエラーになる。散々悩んだあげく、試しに次のようにしたら、動いた。var hoge = String(moge.match(/hogehoge/));var muge = hoge.match(/mugemuge/);なるほど、Matchで帰ってくるのは文字列じゃないんだ。でも一見、上の2つとも、1行目で帰ってきているデータは同じだった。その後散々こねくり回して、ようやくわかった。戻ってくるデータは配列で、その指示の方法だと、0番目だけだったから、文字列と一見同じデータに見えていたのだな。じゃぁ、配列の1番目以降は何が入ってくるんだ? まさか………var moge = 'konnitiwa';var hoge = moge.macth(/ko(.*)wa/);//hogeは('konnitiwa','nniti')すばらしい。