正規表現の構文をカテゴリ別にまとめたチートシート。アンカー、量指定子、文字クラス、グループ、フラグ、よく使うパターンを検索・コピーできます。
検索欄にパターンやキーワードを入力するか、カテゴリボタン(アンカー、量指定子など)をクリックして絞り込みます。
各パターンの説明・使用例・実行結果を確認して、パターンの動作を理解します。
コピーボタンをクリックするとパターンをクリップボードにコピーして、コードやターミナルですぐに使えます。
/^Hello/.test('Hello World')true/World$/.test('Hello World')true'cat catalog'.match(/\bcat\b/g)['cat']'catalog'.match(/\Bcat\B/g)null'color colour'.match(/colou*r/g)['color', 'colour']'ac abc'.match(/ab+c/g)['abc']'color colour'.match(/colou?r/g)['color', 'colour']'aaa aa a'.match(/a{2}/g)['aa', 'aa']'aaa aa a'.match(/a{2,}/g)['aaa', 'aa']'aaaa aaa aa a'.match(/a{2,3}/g)['aaa', 'aaa', 'aa']'abc 123'.match(/\d+/g)['123']'abc 123'.match(/\D+/g)['abc ']'hello world_2'.match(/\w+/g)['hello', 'world_2']'hello world'.match(/\W+/g)[' ']'hello world'.match(/\s+/g)[' ']'hello world'.match(/\S+/g)['hello', 'world']'cat bat hat'.match(/[cbh]at/g)['cat', 'bat', 'hat']'Hello World'.match(/[a-z]+/g)['ello', 'orld']'cat 123'.match(/[^\d ]+/g)['cat']'2024-03-15'.replace(/(\d{4})-(\d{2})-(\d{2})/, '$2/$3/$1')'03/15/2024''foobar foobaz'.match(/foo(?:bar|baz)/g)['foobar', 'foobaz']'100px 200em'.match(/\d+(?=px)/g)['100']'100px 200em'.match(/\d+(?!px)/g)['10', '200']'$100 €200'.match(/(?<=\$)\d+/g)['100']'$100 200'.match(/(?<!\$)\d+/g)['200']'aaa'.match(/a/g)['a', 'a', 'a']'Hello HELLO'.match(/hello/gi)['Hello', 'HELLO']'line1\nline2'.match(/^line/gm)['line', 'line']'foo\nbar'.match(/foo.bar/s)['foo\nbar']'\u{1F600}'.match(/./u)[0].length2'cat bat'.match(/.at/g)['cat', 'bat']'cat dog bird'.match(/cat|dog/g)['cat', 'dog']'3.14'.match(/3\.14/)['3.14']'2024-03-15'.match(/(?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2})/).groupsTools.Reference.RegexCheatsheet.patterns.namedGroup.output/.+@.+/.test('user@example.com')true/https?:\/\/.+/.test('https://example.com')true/0\d{1,4}-\d{1,4}-\d{4}/.test('03-1234-5678')true/valid IPv4 pattern/.test('192.168.1.1')true/\d{4}[-\/]\d{2}[-\/]\d{2}/.test('2024-03-15')true'color: #fff and #1a2b3c'.match(/#[0-9a-fA-F]{3,6}/g)['#fff', '#1a2b3c']/\d{3}-\d{4}/.test('123-4567')true正規表現チートシートは、正規表現の構文を素早く確認できるリファレンスです。アンカー、量指定子、文字クラス、キャプチャグループ、先読み・後読みアサーション、フラグまで主要な構文を網羅しています。メール・URL・IPアドレス・日付など実務でよく使うパターンも収録。各パターンに使用例と実行結果を掲載しています。
* は0回以上、+ は1回以上の繰り返しにマッチします。たとえば /ab*c/ は 'ac'、'abc'、'abbc' にマッチしますが、/ab+c/ は 'abc'、'abbc' にはマッチしても 'ac' にはマッチしません。
キャプチャグループはマッチした内容を保持し、置換時に $1、$2 などで参照できます。非キャプチャグループは優先順位や量指定子のためにグループ化するだけで、マッチ内容を保持しないため処理効率が高いです。
先読み (?=...) は現在位置の直後に指定パターンが続く場合のみマッチします。後読み (?<=...) は直前に指定パターンがある場合のみマッチします。どちらも文字を消費しないゼロ幅アサーションです。
g(グローバル)フラグを付けると、最初のマッチで停止せず文字列内のすべてのマッチを検索します。g フラグなしの String.match() は最初のマッチだけを返します。
バックスラッシュでエスケープします。たとえば \. はリテラルのドット、\( はリテラルの括弧、\* はリテラルのアスタリスクにマッチします。エスケープなしの . は改行以外の任意の1文字にマッチします。