正規表現の基本的な記述方法
Windows の Excel では、正規表現を利用できます。 ここでは、正規表現の記述方法を解説します。
基本的な文字パターン
1. 単純な文字
- 通常の文字(アルファベット、数字、日本語など)はそのまま書きます
- 例:
abcは「abc」という文字列に一致
2. 特殊文字
以下の文字を検索したい場合は、\(バックスラッシュ)を前につけます:
.(ピリオド)*(アスタリスク)+(プラス記号)?(クエスチョンマーク)\(バックスラッシュ)[、](角括弧)(、)(丸括弧)^(キャレット)$(ドル記号)
例:\.は「.」(ピリオド)に一致
文字クラス
1. 組み込み文字クラス
\d:任意の数字(0-9)\D:数字以外の任意の文字\w:英数字とアンダースコア\W:\w以外の文字\s:空白文字(スペース、タブ、改行など)\S:空白文字以外
2. カスタム文字クラス
[abc]:a、b、cのいずれか1文字[a-z]:小文字アルファベット1文字[A-Z]:大文字アルファベット1文字[0-9]:数字1文字(\dと同じ)[^abc]:a、b、c以外の1文字
量指定子
1. 基本的な量指定子
*:直前の要素が0回以上+:直前の要素が1回以上?:直前の要素が0回または1回{n}:直前の要素がちょうどn回{n,}:直前の要素がn回以上{n,m}:直前の要素がn回以上m回以下
2. 使用例
\d+:1桁以上の数字\d{3}:3桁の数字\d{2,4}:2桁から4桁の数字
位置指定
1. アンカー
^:行の先頭$:行の末尾\b:単語の境界\B:単語の境界以外
2. 使用例
^abc:行頭のabcabc$:行末のabc\bword\b:独立した単語としてのword
グループ化と参照
1. グループの作成
(パターン):パターンをグループ化(?:パターン):グループ化するが、参照しない
2. グループの参照
- グループは1から順番に番号が付けられます
- 置換時に
$1、$2などで参照可能
3. 使用例
(\d{4})年(\d{1,2})月:年月を抽出$1で年$2で月を参照可能
パターンの組み合わせ
1. 選択
|:複数のパターンの選択(OR条件)- 例:
cat|dogは「cat」または「dog」に一致
2. 複合パターン
- パターンを組み合わせて複雑な条件を表現
- 例:
^\d{3}-\d{4}$:郵便番号のパターン
具体例
日付関連
1. 年月日のパターン
YYYY年MM月DD日形式: (\d{4})年(\d{1,2})月(\d{1,2})日
YYYY/MM/DD形式: (\d{4})/(\d{1,2})/(\d{1,2})
和暦形式: (平成|令和)(\d{1,2})年
2. 時刻のパターン
24時間形式: ([01][0-9]|2[0-3]):[0-5][0-9]
12時間形式: (0?[1-9]|1[0-2]):([0-5][0-9])(AM|PM|am|pm)
電話番号・郵便番号
1. 電話番号
一般的な形式: (\d{2,4})-?(\d{2,4})-?(\d{4})
携帯電話: (090|080|070)-?\d{4}-?\d{4}
市外局番あり: (0\d{1,4})-?(\d{1,4})-?(\d{4})
2. 郵便番号
基本形式: \d{3}-\d{4}
ハイフンなし: \d{7}
名前・メールアドレス
1. 人名
フルネーム(カッコ付きフリガナ): (.+)\s*\((.*)\)
敬称付き: (.+)様?
2. メールアドレス
基本的な形式: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
ドメイン指定: [\w\.-]+@(gmail\.com|yahoo\.co\.jp)
数値・金額
1. 数値
整数: -?\d+
小数: -?\d+\.\d+
3桁区切り: (\d{1,3}(,\d{3})*|\d+)
2. 金額
円表示: (\d{1,3}(,\d{3})*|\d+)円
¥表示: ¥(\d{1,3}(,\d{3})*|\d+)
文字列クリーニング
1. 空白処理
連続空白の削除: \s+
行頭末尾の空白削除: ^\s+|\s+$
2. 特殊文字
英数字のみ抽出: [^a-zA-Z0-9]
カタカナのみ抽出: [^\p{Katakana}]
ファイル関連
1. ファイル名
拡張子抽出: .*\.([^.]+)$
画像ファイル: .*\.(jpg|jpeg|png|gif)$
2. パス
Windowsパス: C:\\.*
URLパス: https?://[\w/:%#$&?()~.=+-]+