文字列の検索・抽出・検証を一発で行える強力な道具、それが正規表現(regex)です。記号が多くて難しそうに見えますが、よく使うパターンは限られています。基本記号と実例をまとめて解説します。
正規表現は「文字列のパターン」を表す記法です。「数字が3つ、ハイフン、数字が4つ」のようなルールを短い記号で表現し、マッチ判定や抽出・置換に使えます。ほぼすべての言語で利用できます。
.:任意の1文字\d:数字(0-9)/\w:英数字とアンダースコア\s:空白文字*:直前を0回以上/+:1回以上/?:0回か1回{3}:ちょうど3回/{2,4}:2〜4回[abc]:a か b か c/[0-9]:数字1文字^:先頭/$:末尾|:または/():グループ化^\d{3}-\d{4}$
「数字3つ + ハイフン + 数字4つ」を先頭から末尾までちょうど満たす、という意味です。
^[\w.+-]+@[\w-]+\.[\w.-]+$
const zip = "123-4567";
const re = /^\d{3}-\d{4}$/;
console.log(re.test(zip)); // true
// 抽出
const text = "電話は090-1234-5678です";
const m = text.match(/\d{3}-\d{4}-\d{4}/);
console.log(m[0]); // 090-1234-5678
.や*など記号そのものを検索したいときは\.のようにバックスラッシュでエスケープする+や*は「できるだけ長く」マッチする(貪欲)。最短にしたいなら+?を使う正規表現は\d+{n}[]^$あたりを覚えれば、日常的な検証の大半はカバーできます。まずは郵便番号や電話番号など身近な例でtest()を試し、少しずつパターンを増やしていきましょう。