JavaScript正規表現メモ。こせきの技術日記スマートフォン用の表示で見るこせきの技術日記この広告は、90日以上更新していないブログに表示しています。2009-05-30JavaScript正規表現メモ。JavaScriptタイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。正規表現にマッチするかどうか。RegExp#testを使う。trueString#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。true正規表現の部分マッチを得る。部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。log部分マッチを得るイディオム。マッチしなかったらundefined。("abcccd".match(/ab(c+)/)||[])[1];マッチしなかったらnullにしたい場合は、||nullを付ける。("abcccd".match(/ab(c+)/)||[])[1]||null;以下変遷。cccこれだと1文で書ける。マッチしないとnullが返るため、[1]で例外が出てしまう。Rubyのto_aみたいにnullを[]に変換できるといいんだけど。しょうがないので以下のようにする。m[1];標準でないRegExp.$1は使わない。JavaScript正規表現メモ。(JavaScriptでよく使う書き方。こせきの技術日記うわあ、、ですよね。考えたんだけど出てきませんでした。ありがとうございます。いうわけで......1文で部分マッチを返す。("abcccd".match(/ab(c+)/)||[])[1];マッチしなかった場合の値はnullではなくundefinedになる。nullfalseRegExpの挙動に合わせてnullにそろえるとか、、やり過ぎか。JavaScript正規表現メモ。(JavaScriptでよく使う書き方。こせきの技術日記そのほうがずっといいですねー。全てのマッチした箇所を得る。gオプションを付けてString#matchを使う。"abc"]マッチでループする。gオプションを付けてRegExp#execを使う。RegExp(/.../g)を使う。