1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

正規表現サンプル集

Last updated at Posted at 2022-07-13

正規表現の勉強がてら、見つけ出したい文字列ごとに、正規表現をまとめました。

整数(10進数)

  • ^\d+$
    • 整数を検索する最も簡単な正規表現です。なお、\d[0-9]と同じです。
  • ^[+-]?\d+$
    • 数字の前に符号がついていてもマッチします。
  • ^[+-]?(?:[1-9]\d*|0)$
    • 001のように数値の前に0がある場合を除外したものです。

整数(2進数、8進数、16進数)

  • ^[0-9a-fA-F]+$
    • 16進数です。大文字のみマッチさせるなら^[0-9A-F]+$です。
  • ^(?:0[xX])[0-9a-fA-F]+$
    • 接頭辞がついたもののみをマッチさせます。
  • ^[+-]?(?:0[xX])?[0-9a-fA-F]+[hH]?$
    • 16進数全てに対応したもの。
  • ^[+-]?(?:(?:0[xX])?[0-9a-fA-F]+|[0-9a-fA-F]+[hH])$
    • 上記のものだと、16進数の前後に接頭辞と接尾辞の両方がついていてもマッチしてしまうので、それを弾いたものです。
  • ^[01]+$
    • 2進数です。
  • ^[0-7]+$
    • 8進数です。

実数

  • ^\d+(?:\.\d+)?$
    • 最も単純な正規表現。
  • ^[+-]?(?:\d+\.?\d*|\.\d+)$
    • 0省略あり、符号があっても判定可。
  • ^[+-]?(?:[1-9]\d*|0)(?:\.\d+)?$
    • 整数部分について数値の前に0がある場合を除外したもの。
  • ^[+-]?(?:[1-9]\d*|0)(?:\.\d*[1-9])?$
    • さらに、小数部分も0で終わることを禁止したもの。

実数(指数表記)

  • ^[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$
    • 0省略なし。
  • ^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$
    • 0省略あり。

郵便番号

  • ^\d{3}-\d{4}$
    • -の省略を許すなら、^\d{3}-?\d{4}$
    • -を書かないなら、^\d{7}$

携帯電話番号

  • ^0[7-9]0(?:-\d{4}){2}$
    • -の省略を許すなら、^0[7-9]0(-?)\d{4}\1\d{4}$

IPv4

  • ^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$

日付

  • ^\d{4}([\/-])(?:0[1-9]|1[0-2])\1(?:0[1-9]|[12]\d|3[01])$
    • yyyy/mm/dd もしくは yyyy-mm-ddの形式。
  • ^\d{4}\/(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[12]\d|3[01])$
    • 頭の0の省略を許す。(/区切り)
  • ^\d{4}\/(?:(?:0[13578]|1[02])\/(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)\/(?:0[1-9]|[12]\d|30)|2\/(?:0[1-9]|[12]\d))$
    • より厳密に。(yyyy/mm/ddの形式)

時間

  • ^(?:2[0-3]|[01]\d)(?::(?:[0-5]\d)){2}$

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?