//メタ文字
//[abc] :aかbかcのどれか一文字にマッチさせる
//[]と一緒に使えるメタ文字
//[a-z]:a-zのうちのどれか
//[^abc]:^(キャレット):これの中の文字以外の1文字
var s = '@tomoshige_n,@temoshige';
var rs = s.match(/t[^ao]moshige/);
if(rs){
alert('マッチしました');
}
// . :任意の一文字
var s = '@tomoshige_n,@temoshige,@testtest';
var rs = s.match(/to...hige$/);
if(rs){
alert('マッチしました');
}
// ^ :行頭, 行の一番最初にあるか?
// $ :行末, 行の一番最後にあるか?
//{} :直前の文字の繰り返し回数
//0{2} : 00にマッチする
//0{2,}:2以上の00にマッチ.00,000000など
//0{2,4}:00,000,0000
//[a-z]{5}:小文字5つにマッチする
//[a-z]{3,6}:小文字3~6文字にマッチする
//繰り返しに関するメタ文字
//a? :0文字か1文字の繰り返し, 文字がないか、aか
//a* :0文字以上の繰り返し, 文字がない, a, aaaaa
//a+ :1文字以上の繰り返し, aaaa,aaaaaaaa
//(abc)*, 0文字以上なので、なし、abc, abcabc
//(abc|def), abcもしくはdef
// \n : 改行
// \t : tab
// \d : 数字[0-9]としてもOK
// \w : 英数字と_, [A-Za-z0-9_]
// \s : スペース,タブ
// \メタ文字 : メタ文字
//フラグ,言語によって異なる
// i : 大文字小文字を区別しない, s.match(/to...hige/);でTOMOSHIGEもtomoshigeにもマッチする
// g : すべてのマッチした要素を返す.
// m : 複数行に対応させる : ^$
// * + のあとの?について(最小マッチ)
// *+?:最初のものだけをマッチさせる
//(), RegExp:マッチしたものの抽出
// var s = 'tomoshige.nakamura@gmail.com';
// var rs = s.match(/(.+?)@gmail.com/);
// console.log(RegExp.$1);
//TwitterIDをマッチさせる
//TwitterIDを引っ掛ける
//var s ="@tomoshige_n";
//var rs = s.match(/@[A-Za-z0-9_]{1,15}/);
//console.log(RegExp.$1);
//タグの中身の抽出
//タイトルタグ
//var s = '<title>ドットインストール</title>';
//var rs = s.match(/<title>([^<]+)<\/title>/);
//console.log(RegExp.$1);
//日付を日本語表記に直す
var s = '2012-03-24';
var rs = s.match(/(\d{4})[-\/](\d{2})[-\/](\d{2})/);
console.log(RegExp.$1+'年'+RegExp.$2+'月'+RegExp.$3+'日')