* 文字列関数 - 正規表現 [#z654448b]

** 正規表現オブジェクト [#rb92f976]
 var re = new RegExp('a');
 var re = /a/;                // 上の構文糖 
 re.test('abc'); // true
 re.exec('abc'); // "a"
なお、文字列リテラル('a')では\はエスケープされるので、例えばnew RegExp('\\d')のように\を重ねる事。正規表現リテラル(/a/)では重ねなくて良い。

** "文字列".search() [#h1e9ac88]
ポジションを取り出す。
 "123abc456".search(/a/); // 3
 "123abc456".search('x'); // -1

** "文字列".match() [#i263eb70]
マッチした文字列を取り出す。
*** 通常 [#vf49beac]
 "123abc456".match("[a-z]");      // "a"
*** gスイッチ付き [#l3a46537]
 "123abc456".match("[a-z]", "g"); // ["a", "b", "c"]

** REGEX.exec() [#h9b32cf3]
マッチした文字列を取り出す。
*** 通常 [#q062c3e5]
 var re = /[a-z]/;
 re.exec("123abc456"); // "a"
 re.exec("123abc456"); // "a"
*** gスイッチ付き [#v85d62e9]
 var reg = /[a-z]/g;
 reg.exec("123abc456"); // "a"
 reg.exec("123abc456"); // "b"
 reg.exec("123abc456"); // "c"
 reg.exec("123abc456"); // null

** "文字列".replace() [#s99ff54b]
文字列を置換する。
 "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() [#v099223d]
 "a,b:c,,d".split(/[,:]/); // 他のブラウザ["a", "b", "c", "", "d"]
                           // IE          ["a", "b", "c", "d"]
                           // 古いIE     ["a", "b", "c", "d"]

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