素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

String.prototype.matchでは正規表現にマッチした結果が配列で返される

RegExp.$1とかを使わなくても、こんな風な使い方ができる。

var str='3.14,1.993,23.3,3'
var result=str.match(/\d+\.?\d*(?!,)/g).filter(
 function(x)parseFloat(x)>2
)
console.log(result);

カンマで区切られた数値を正規表現で調べて、filter関数を使って2より大きいものをresultに入れてる。

正規表現だけだとできないことも、JavaScriptを使えば簡単にできる。