特定の文字列に一致した部分に対して操作する JavaScript
正規表現を使う準備
2つ用意する。1つは対象となる文字列。もう1つはパターン(フィルター・条件)・
1 2 3 4 5 |
const str = "エルメス バーキン"; // 対象 const reg = new RegExp('バーキン', 'ig'); // パターン new RegExp(文字列, 条件) iは大文字・小文字関係なく、gは2回以上該当箇所があっても // 別の書き方 const reg = /バーキン/ig ※この書き方をする場合は文字列を囲う''は要らない。また/ バーキン /と書くと␣バーキン␣という意味になるので厳密に。 |
正規表現は厳密でスペースや改行コードが入っても弾かれてしまうので、str.replace()やstr.trim()などをつかって取り除いたあとで判定に使うと効果的。
正規表現を実行する
真偽値を返すもの(test)
1 2 |
const res = reg.test(str); console.log(res); // true |
一致した部分の文字列を返すもの(exec)
1 2 |
const res = reg.exec(str); console.log(res); // ['バーキン'] 配列で返る |
一致した部分の文字列を返すもの(match)
1 2 |
const res = str.match(reg); console.log(res); // ['バーキン'] 配列で返る |
matchとexecではregとstrの位置が逆である。
コメント
コメントはありません。