参考にさせていただきました
正規表現は英語で Regular Expression
省略して Regex や Regexp
スラッシュで囲む
.(ドット)
*(アスタリスク) +(プラス)
[](ブラケット)
[] と -
実用パターン
| パターン | 意味 | 備考 |
|---|---|---|
[a-z] |
英小文字1文字 | |
[a-zA-Z0-9] |
英数字1文字 |
\w はこれ + アンダースコア |
[0-9a-fA-F] |
16進数1文字 | カラーコードやハッシュ値に |
[a-z\-] [-a-z] [a-z-]
|
ハイフン自体を含める | エスケープするか先頭/末尾に置く |
[^0-9] |
数字以外の1文字 |
^ をブラケット直後に置くと否定 |
[ぁ-ん] |
ひらがな | |
[ァ-ヴ] |
カタカナ | |
[一-龥] |
CJK統合漢字 | おおまかな範囲 |
[a-zA-Z0-9_\-]+\.[a-z]{2,4} |
ファイル名 |
report-2024.pdf 等にマッチ |
[A-Za-z] |
英大文字小文字 |
[A-z] は [\]^_` も含むので注意 |
{}(プレース)
日時文字列の正規表現について
この正規表現 /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/ は、ISO 8601 という国際規格の日時フォーマットを検証するものです。
マッチする文字列の例は 2026-04-14T10:30:45.123Z のような形です。
真ん中にある T 末尾の Z
真ん中 T は正規表現の特殊記号ではなく、日付と時刻を区切るためのただの文字です。
末尾の Z は UTC(協定世界時) であることを意味します。
このフォーマットは JavaScript の new Date().toISOString() が返す形式と同じであり、 Microsoft Graph API や Google API など多くの Web API で標準的に使われています。
そのため、API のリクエストやレスポンスの日時バリデーションでよく登場します。
\d{4} は「数字4桁」、\d{2} は「数字2桁」を意味し、. はピリオドのエスケープです。
正規表現を読むときは、このように固定フォーマットの各パーツに分解して考えると理解しやすくなります。