正規表現を見つける
javascriptで正規表現との比較を行う際には、以下の2つの方法がある。
1.RegExpオブジェクトを使う方法
RegExp(正規表現)で正規表現を生成し、test関数やexec関数で合致するか調べる。
test関数は合致したか否かをtrue/falseで返し、exec関数は合致した文字を返す。
var exptest = new RegExp('^[0-9]+\\s[0-9]+'); //<-先頭英数字1回以上(^[0-9]+),空白文字(¥s),英数字1回以上のもの
//正規表現の書き方はvar 変数=/正規表現/;のような書き方もOK
var string1 = "034 58";
if(exptest.test(string1)) {
alert('正規表現にマッチ');
} else {
alert('正規表現にマッチせず');
}
var exptest = new RegExp('[0-9]+\\s[0-9]+','g'); //<-gはグローバルマッチ。複数にマッチできる。
var string1 = "034 58 99 21";
alert(exptest(string1)); //<-034 58を表示する
alert(exptest(string1)); //<-2回目は99 21を表示する。
2.Stringオブジェクトを使う方法
match関数 |
正規表現に合致した文字列を返す |
search関数 |
正規表現に合致した位置を返す |
正規表現の後方参照
JavascriptではRegExp.$1等の記述で後方参照できる。
正規表現の大文字小文字区別
var exptest = new RegExp(正規表現,"i")のように第2引数にiフラグをセットすると、大文字小文字を区別しなくなる。
正規表現にiフラグがセットされているかはexptest.ignoreCaseで確認できる。
最終更新:2018年09月26日 09:44