正規表現の基本的な記述方法
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/:%#$&?()~.=+-]+