よく使う便利な正規表現のチートシート「Useful Regex Patterns」

便利な正規表現のチートシート「Useful Regex Patterns」

Useful Regex Patternsはよく使う便利な正規表現を集めたシートシートです。

個人的によく使うものをいくつかピックアップしてみました。

HTMLタグ

HTMLタグにマッチする正規表現です。

/^<([a-z1-6]+)([^<]+)*(?:>(.*)<\/\1>| *\/>)$/

年月日

スラッシュ区切り(dd/mm/yyyy)、ハイフン区切り(dd-mm-yyyy)、スペース区切り(dd mm yyyy)の3つのパターンにマッチする正規表現です。

/^(0?[1-9]|[12][0-9]|3[01])([ \/\-])(0?[1-9]|1[012])\2([0-9][0-9][0-9][0-9])$/

時刻

時刻の24時間表記(hh:nn)にマッチする正規表現です。

/([01]?[0-9]|2[0-3]):[0-5][0-9]/

ユーザー名

アルファベット、数字、ハイフン、アンダースコアを使った3~16文字のユーザー名にマッチする正規表現です。

/^[a-zA-Z0-9_-]{3,16}$/

URLスラッグ

URLのスラッグにマッチする正規表現です。

/^[a-z0-9-]+$/

Email

Emailアドレスにマッチする正規表現です。@が入っているかどうかのシンプルなチェックパターンです。

/^.+@.+$/

URL

URLにマッチする正規表現です。http、httpsに対応しています。

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

IPアドレス(iPv4)

IPアドレス(iPv4)にマッチする正規表現です。

/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

IPアドレス(iPv6)

IPアドレス(iPv6)にマッチする正規表現です。

/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/

正の数

プラスの正の数にマッチする正規表現です。小数点有無にも対応しています。

/^\d*\.?\d+$/

負の数

マイナスの負の数にマッチする正規表現です。小数点有無にも対応しています。

/^-\d*\.?\d+$/

正負の数

プラスとマイナス、どちらの数にもマッチする正規表現です。小数点有無にも対応しています。

/^-?\d*\.?\d+$/

YouTube動画のID

YouTube動画のIDにマッチする正規表現です。

/https?:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi

YouTubeチャンネルのID

YouTubeチャンネルのIDにマッチする正規表現です。

/https?:\/\/(www\.)?youtube.com\/channel\/UC([-_a-z0-9]{22})/i

WordPressショートコード

WordPressのショートコードにマッチする正規表現です。

/^\[([a-z-_0-9]+)([^\[]+)*(?:\](.*)\[\/\1\]|\s+\/\])$/

アメリカ・カナダの郵便番号

アメリカ、カナダの郵便番号にマッチする正規表現です。

/(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)/