- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- JavaScript/文法/文字列関数/正規表現 へ行く。
- 1 (2009-11-09 (月) 12:33:21)
- 2 (2009-11-09 (月) 13:27:58)
- 3 (2010-05-04 (火) 20:00:43)
- 4 (2011-01-31 (月) 09:01:20)
正規表現
正規表現オブジェクト
var re = new RegExp('a'); var re = /a/; // 上の構文糖 console.log(re.test('abc')); // true console.log(re.exec('abc')); // "a"
なお、文字列リテラル('a')では\はエスケープされるので、例えばnew RegExp('\\d')のように\を重ねる事。正規表現リテラル(/a/)では重ねなくて良い。
"文字列".search()
ポジションを取り出す。
console.log("123abc456".search(/a/)); // 3 console.log("123abc456".search('x')); // -1
"文字列".match()
マッチした文字列を取り出す。
通常
console.log("123abc456".match("[a-z]")) // "a"
gスイッチ付き
console.log("123abc456".match("[a-z]", "g")) // ["a", "b", "c"]
REGEX.exec()
マッチした文字列を取り出す。
通常
var re = /[a-z]/; console.log(re.exec("123abc456")); // "a" console.log(re.exec("123abc456")); // "a"
gスイッチ付き
var reg = /[a-z]/g; console.log(reg.exec("123abc456")); // "a" console.log(reg.exec("123abc456")); // "b" console.log(reg.exec("123abc456")); // "c" console.log(reg.exec("123abc456")); // null
"文字列".replace()
文字列を置換する。
console.log("123abc456".replace(/\d+/,'X')); // "Xabc456" console.log("123abc456".replace(/\d+/g,'X')); // "XabcX" console.log( "123abc456".replace(/[a-z]/g, function (val,pos) { return "[" + val + ":" + pos + "]"; }) ); // 123[a:3][b:4][c:5]456
split()
console.log("a,b:c,,d".split(/[,:]/)); // 他のブラウザ["a", "b", "c", "", "d"] // IE ["a", "b", "c", "d"]