はじめに
正規表現(Regular Expression、略して「regex」や「regexp」)は、文字列のパターンマッチングや置換、抽出などに使われる強力なツールです。プログラミングやデータ処理、テキスト検索など、さまざまな場面で活躍します。この記事では、正規表現の基本を3分で理解できるように、最小限の知識とよく使うパターンをまとめました。
正規表現とは?
正規表現は「特定のパターンに一致する文字列を検索・抽出・置換するための表現方法」です。例えば「メールアドレスだけを抽出したい」「数字だけを置換したい」といった用途で使われます。
正規表現の基本構文
パターン | 意味 | 例 |
---|---|---|
. |
任意の1文字 |
a.c → abc , a1c
|
* |
直前の文字が0回以上 |
a* → "" , a , aa
|
+ |
直前の文字が1回以上 |
a+ → a , aa
|
? |
直前の文字が0回または1回 |
a? → "" , a
|
[] |
いずれか1文字 |
[abc] → a , b , c
|
`` | 否定(以外の1文字) |
[^0-9] → 数字以外 |
^ |
行頭 |
^abc → abc で始まる |
$ |
行末 |
abc$ → abc で終わる |
{n,m} |
n回以上m回以下の繰り返し |
a{2,4} → aa , aaa , aaaa
|
` | ` | または |
よく使う正規表現パターン
-
数字だけ:
\d+
例:123
,2024
-
英字だけ:
[a-zA-Z]+
例:hello
,WORLD
-
メールアドレス:
[\w\.-]+@[\w\.-]+\.\w+
-
郵便番号(例: 123-4567):
\d{3}-\d{4}
-
電話番号(例: 090-1234-5678):
\d{2,4}-\d{2,4}-\d{4}
Pythonでの正規表現例
import re
text = "メール: test@example.com, 電話: 090-1234-5678"
email = re.findall(r"[\w\.-]+@[\w\.-]+\.\w+", text)
phone = re.findall(r"\d{2,4}-\d{2,4}-\d{4}", text)
print("メール:", email) # ['test@example.com']
print("電話番号:", phone) # ['090-1234-5678']
まとめ
- 正規表現は「パターンで文字列を検索・抽出・置換」できる便利なツール
- 基本構文(
.
*
+
?
[]
など)を覚えるだけで多くの処理が可能 - よく使うパターンはコピペで活用しよう
- PythonやJavaScriptなど多くの言語でサポートされている
まずは簡単なパターンから、実際に使ってみて慣れていきましょう!