0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3分で理解する正規表現入門

Posted at

はじめに

正規表現(Regular Expression、略して「regex」や「regexp」)は、文字列のパターンマッチングや置換、抽出などに使われる強力なツールです。プログラミングやデータ処理、テキスト検索など、さまざまな場面で活躍します。この記事では、正規表現の基本を3分で理解できるように、最小限の知識とよく使うパターンをまとめました。


正規表現とは?

正規表現は「特定のパターンに一致する文字列を検索・抽出・置換するための表現方法」です。例えば「メールアドレスだけを抽出したい」「数字だけを置換したい」といった用途で使われます。


正規表現の基本構文

パターン 意味
. 任意の1文字 a.cabc, a1c
* 直前の文字が0回以上 a*"", a, aa
+ 直前の文字が1回以上 a+a, aa
? 直前の文字が0回または1回 a?"", a
[] いずれか1文字 [abc]a, b, c
`` 否定(以外の1文字) [^0-9] → 数字以外
^ 行頭 ^abcabcで始まる
$ 行末 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など多くの言語でサポートされている

まずは簡単なパターンから、実際に使ってみて慣れていきましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?