1
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?

正規表現_よく使う正規表現30選

Posted at

よく使う正規表現30選

正規表現は、文字列のパターンマッチングや検索・置換で頻繁に使われる強力なツールです。以下に、よく使用される正規表現とその用途を例示します。
・基礎編(10選)
・応用編(20選)

基礎編 (10選)

正規表現(RegEx)は文字列のパターンマッチングに使用される強力なツールです。以下に、正規表現の基礎を押さえるための重要な10項目を紹介します。

1. ドット(.)

ドット . は任意の1文字にマッチします。改行を除くすべての文字と一致します。

例:

  • 正規表現: a.b
  • マッチ対象: aab, acb, など

2. キャレット(^)とドル記号($)

  • ^ は行の先頭にマッチします。
  • $ は行の末尾にマッチします。

例:

  • 正規表現: ^abc
  • マッチ対象: abcdef, ただし xyzabc にはマッチしません。

3. バックスラッシュ(\)

バックスラッシュ \ は特別な意味を持つ文字をエスケープするために使用されます。

例:

  • 正規表現: \\
  • マッチ対象: バックスラッシュ (\)

4. 角かっこ([])

角かっこ [] は、文字クラスを定義します。中に書かれた任意の1文字と一致します。

例:

  • 正規表現: [abc]
  • マッチ対象: a, b, c

5. ハイフン(-)

ハイフン - は範囲指定に使用されます。[a-z] は小文字アルファベットの任意の1文字にマッチします。

例:

  • 正規表現: [0-9]
  • マッチ対象: 1, 5, 9 など

6. アスタリスク(*)

アスタリスク * は直前の文字が0回以上繰り返される場合にマッチします。

例:

  • 正規表現: ab*c
  • マッチ対象: ac, abc, abbc など

7. プラス(+)

プラス + は直前の文字が1回以上繰り返される場合にマッチします。

例:

  • 正規表現: ab+c
  • マッチ対象: abc, abbc, ただし ac にはマッチしません。

8. クエスチョンマーク(?)

クエスチョンマーク ? は直前の文字が0回または1回現れる場合にマッチします。

例:

  • 正規表現: ab?c
  • マッチ対象: abc, ac

9. 中括弧({})

中括弧 {} は直前の文字が特定の回数繰り返される場合にマッチします。

例:

  • 正規表現: a{2,4}
  • マッチ対象: aa, aaa, aaaa

10. パイプ(|)

パイプ | は「または」を意味します。複数のパターンのどれかにマッチします。

例:

  • 正規表現: abc|def
  • マッチ対象: abc または def

応用編(20選)

1. メールアドレスのマッチ

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

用途: メールアドレスの形式チェック。


2. 電話番号(日本国内)のマッチ

^\d{2,4}-\d{2,4}-\d{4}$

用途: 日本の電話番号(ハイフン付き)を検出。


3. 郵便番号(日本)のマッチ

^\d{3}-\d{4}$

用途: ハイフン付きの日本の郵便番号を検出。


4. URLのマッチ

^https?://[a-zA-Z0-9.-]+(?:\.[a-zA-Z]+)+

用途: HTTPまたはHTTPSで始まるURLを検出。


5. IPアドレスのマッチ

^(?:\d{1,3}\.){3}\d{1,3}$

用途: IPv4形式のIPアドレスを検出。


6. 日時(YYYY-MM-DD形式)のマッチ

^\d{4}-\d{2}-\d{2}$

用途: 年-月-日形式の日付を検出。


7. 数字のみを検出

^\d+$

用途: 文字列が数字のみで構成されているかを確認。


8. 英数字のみを検出

^[a-zA-Z0-9]+$

用途: 文字列が英数字のみかを確認。


9. 先頭と末尾に空白を含む文字列の検出

^\s+|\s+$

用途: 文字列の両端の空白を検出(およびトリミング)。


10. 全角文字を検出

[^\x00-\x7F]+

用途: 全角文字(日本語、漢字、ひらがな、カタカナなど)を検出。


11. 半角カタカナを検出

[\uFF61-\uFF9F]+

用途: 半角カタカナを検出。


12. 重複する単語の検出

\b(\w+)\b(?:\s+\1\b)+

用途: 重複する単語(例: "test test")を検出。


13. HTMLタグを検出

<[^>]+>

用途: HTMLタグ全般を検出。


14. JSONキーを検出

"([a-zA-Z0-9_]+)"\s*:

用途: JSON内のキー部分を抽出。


15. クォート文字列を検出

(['"])(.*?)\1

用途: シングルまたはダブルクォートで囲まれた文字列を検出。


16. パスワード強度を確認

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

用途: 英小文字、大文字、数字、特殊文字を含む8文字以上のパスワードを確認。


17. 任意の改行を含むテキストを検出

[\s\S]+

用途: 改行を含むすべてのテキストを一致させる。


18. 先頭に特定の文字列を持つ行を検出

^ERROR:

用途: "ERROR:" で始まる行を検出。


19. 末尾が特定の拡張子(例: .jpg/.png)のファイル名を検出

^.+\.(jpg|png|gif)$

用途: 特定の画像形式を検出。


20. 文字列のネストされた括弧を検出

\(([^()]*)\)

用途: 一重の括弧内の内容を抽出。


1
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
1
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?