正規表現とは何ですか?
Regexは、文字列内の文字の組み合わせに一致させるために使用されるパターンです。事実上すべてのプログラミング言語でサポートされており、テキスト処理、入力の妥当性チェック、検索・置換、ログの解析などに不可欠です。
JavaScript の RegEx フラグ
- g — グローバル:最初の一件だけでなく、すべての一致を検索する
- i — 大文字・小文字を区別しない一致
- m — 複数行: ^ および $ は行の境界に一致する
- s — Dotall: 「.」は改行文字に一致する
一般的な利用例
- メールアドレス、電話番号、URLの検証
- ログファイルおよび構造化テキストからのデータ抽出
- コードエディタやIDEでの検索・置換
- 入力マスクとフォームバリデータの作成
- CSV、JSON、XMLデータの解析と変換
Regexを使うべき場面
正規表現は、テキストの照合、抽出、置換が必要な、短く明確に定義されたパターンにおいて真価を発揮します。例えば、ログ行の解析、URLルーティングルール、フォームフィールドの検証、エディタ内での検索・置換などが挙げられます。 しかし、入力がHTML、JSON、ソースコード、あるいはネストされた区切り文字を含むものなど、実際に構造化された言語である場合は、Regexはむしろ足手まといになります。そのような場合は、本格的なパーサーを使用してください。今日書いたRegexは、次のエッジケースで何の前触れもなく動作しなくなるでしょう。