正規表現の基本
正規表現パターンは、一致させたいテキストを簡潔に表現する方法です。まずはシンプルに始めましょう。1つの要素を一致させてテストし、必要になったときだけグループ、アンカー、量指定子を追加します。
アンカー
^ 入力の先頭を意味し、 $ 入力の末尾を意味します。
文字クラス
[0-9], [A-Z]、および [a-z] 範囲に一致します。
量指定子
* = 0回以上、 + = 1回以上、 ? = 省略可能。
よく使うパターン
| ユースケース | パターン | メモ |
|---|---|---|
| メールアドレス | ^[^\s@]+@[^\s@]+\.[^\s@]+$ | 汎用的な検証に適していますが、完全なRFCパーサーではありません。 |
| URL | https?:\/\/[^\s]+ | 基本的なHTTPおよびHTTPSリンクに一致します。 |
| 整数 | ^-?\d+$ | 省略可能な負号をサポートします。 |
| 小数 | ^-?\d+(\.\d+)?$ | 整数と小数に一致します。 |
| 空白 | \s+ | 連続するスペースや改行の圧縮に便利です。 |
| 16進カラー | ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | 3桁および6桁のカラーに対応しています。 |
| IPv4 | \b(?:\d{1,3}\.){3}\d{1,3}\b | IPv4 形式のテキストに一致しますが、0〜255 の厳密な検証は行いません。 |
| 空行 | ^\s*$ | 複数行モードと併用して空行を対象にします。 |
よく使用するフラグ
g グローバル
最初の一致で停止せず、すべての一致を検索します。
i 大文字と小文字を区別しない
一致で大文字と小文字を区別しなくなり、キーワードやユーザー入力に便利です。
m 複数行
~を ^ および $ 行ごとに動作させます。
s ドットオール
やってみましょう . 改行も通常の文字と同様にマッチさせます。
正規表現でよくある落とし穴
- 最初から巨大なオールインワンのパターンを作らないでください。段階的に構築し、各部分をテストしてください。
- 次のような特殊文字は忘れずにエスケープしてください ., ?, +、および [ 文字そのものを意味する場合。
- 単語全体に一致させたい場合は、次のような境界を追加してください \bword\b.
- 貪欲なマッチングには注意してください。 .* 予想より多くをキャプチャすることがよくあります。
適切なツールと一緒にこのリファレンスを使用してください
ここでパターンを調べ、その場でテストして、実際のテキストに適用したり、置換ワークフローで使用したりできます。
関連ツール