文字列関数 - 正規表現

正規表現オブジェクト

 var re = new RegExp('a');
 var re = /a/;                // 上の構文糖 
 re.test('abc'); // true
 re.exec('abc'); // "a"

なお、文字列リテラル('a')では\はエスケープされるので、例えばnew RegExp('\\d')のように\を重ねる事。正規表現リテラル(/a/)では重ねなくて良い。

"文字列".search()

ポジションを取り出す。

 "123abc456".search(/a/); // 3
 "123abc456".search('x'); // -1

"文字列".match()

マッチした文字列を取り出す。

通常

 "123abc456".match("[a-z]");      // "a"

gスイッチ付き

 "123abc456".match("[a-z]", "g"); // ["a", "b", "c"]

REGEX.exec()

マッチした文字列を取り出す。

通常

 var re = /[a-z]/;
 re.exec("123abc456"); // "a"
 re.exec("123abc456"); // "a"

gスイッチ付き

 var reg = /[a-z]/g;
 reg.exec("123abc456"); // "a"
 reg.exec("123abc456"); // "b"
 reg.exec("123abc456"); // "c"
 reg.exec("123abc456"); // null

"文字列".replace()

文字列を置換する。

 "123abc456".replace(/\d+/,'X');  // "Xabc456"
 "123abc456".replace(/\d+/g,'X'); // "XabcX" 
 
  "123abc456".replace(/[a-z]/g, function (val,pos) {
     return "[" + val + ":" + pos + "]";
   })
 );
 // 123[a:3][b:4][c:5]456

split()

 "a,b:c,,d".split(/[,:]/); // 他のブラウザ["a", "b", "c", "", "d"]
                           // 古いIE     ["a", "b", "c", "d"]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2013-07-28 (日) 06:46:09