【Javascript】matchメソッドで特定の文字列を検索【正規表現】

Javascript
スポンサーリンク

こんにちは、くれあです。

この記事では、テキスト文などから特定の文字列の検索と取り出しができる

matchメソッドの例を紹介します。

簡単な正規表現も使ってみて、楽に文字列を取り出せる処理も紹介します。

matchメソッドを使ってみよう

matchメソッドとは

matchメソッドは、文字列の検索結果を受け取ってくれます。

使い方は

const text = "文字列"
text.match(検索条件)

のように記述します。

検索条件のところには特定の文字列や、正規表現で指定した内容を入れて、

自分が取り出したい文字列を指定します。

実際の実装では正規表現を用いることが多いですが、

まずは簡単な文字列のサンプルをお見せいたします。

実行サンプル

サンプルはこちら

const text = "gray,green,white,black";
const result = text.match(/white/);

console.log(result[0]);

実行結果

white

適当な色名を並べた文字列から、「white」のみ取り出すことが出来ます!

正規表現で郵便番号を取り出す

次に、正規表現を用いた例を紹介します。

正規表現とは

正規表現とは、特殊な文字や記号を組み合わせた文字列のパターンです。

例えば、

\d{3}-\d{4}

で、『(数字3桁)-(数字4桁)』の郵便番号のような文字列のパターンになります。

これをmatchメソッドの検索条件に当てはめれば、

細かい数値を指定しなくとも『(数字3桁)-(数字4桁)』であれば取り出すことができます。

実行サンプル

サンプルはこちら

const text = "123-4567 テスト県テスト市テスト町8-9-10";

const postal = text.match(/\d{3}-\d{4}/);
console.log(postal[0]);

実行結果

123-4567

郵便番号のみ取り出すことができました。

ブラウザ上で正規表現のテストができるツールはかなり多いので、

色々遊んでみると楽しいですよ!

regex101 など、調べるとたくさんツールが出てきます!

複数の文字列を取り出してみる!

加えて「g」フラグを付けると対象になっている文字列から

複数の文字列を取り出すことができます。

正規表現パターンの後ろに「g」を付け足すだけでOKです。

実行サンプル

サンプルはこちら

const text = "123-4567 テスト県テスト市テスト町8-9-10";

const test = text.match(/\d{2,}/g);
console.log(test);

実行結果

[ '123', '4567', '10' ]

「d{2,}」で2桁以上の数を意味しています。

2桁以上の123、4567、10を一度で取り出すことができました。

正規表現は奥深く、文字を組み合わせることで色んなパターンを指定することができます。

使いこなせればかなり強力な武器になります・・・!

(といっても、私も全然使いこなせてませんが;;)

コメント

タイトルとURLをコピーしました