SQLの窓

2009年12月17日


JavaScript : 一見バグのように見える正規表現オブジェクトの正しい動作

一つ目の正規表現が一致しません。
"\d" は、結局 "d" なので、正規表現のメタ文字にはなりません。
つまり、一つ目は以下のように指定する必要があります
pat = new RegExp("([^\\d]+?)([\-]?\\d+)\,([\-]?\\d+)");
( 外部から入力される時は \d でいい事になります )
str = "PE-100,120";

pat = new RegExp("([^\d]+?)([\-]?\d+)\,([\-]?\d+)");
alert(str.match( pat ));
alert( RegExp.$1 + "|" + RegExp.$2 + "|" + RegExp.$3 );

pat = new RegExp("([^0-9]+?)([\-]?[0-9]+)\,([\-]?[0-9]+)");
alert(str.match( pat ));
alert( RegExp.$1 + "|" + RegExp.$2 + "|" + RegExp.$3 );

alert(str.match( /([^\d]+?)([\-]?\d+)\,([\-]?\d+)/ ));
alert( RegExp.$1 + "|" + RegExp.$2 + "|" + RegExp.$3 );



タグ:javascript
【JavaScript 正規表現の最新記事】
posted by lightbox at 2009-12-17 01:22 | JavaScript 正規表現 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり